Skip to Main Content

Java EE (Java Enterprise Edition) General Discussion

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Deployment problem with web service

843833Aug 24 2005
I need a help for exposing a stateless session bean into a web service.

Here I created a stateless session bean and created a JAR file for that bean.

After that I want to convert it into a web service by using servicegen task.
I run the build.xml file to perform servicegen task.
Here I am facing one exception like:
BUILD FAILED: C:\eclipse\workspace\webService\build.xml:22: weblogic.xml.schema.binding.BindingException: Invalid class received: interface com.b2.ebp.presentation.factory.EbpConfigPresentationWrapper loaded from file:/C:/eclipse/workspace/ebpWeb/ebpWebJar.jar!/com/b2/ebp/presentation/factory/EbpConfigPresentationWrapper.class. All classes that will be serialized or deserialized must be non-interface, non-abstract classes that provide a public default constructor

This class is there in web project and it is an abstract class. For that web project I created a Jar file and included this JAR file in classpath element of servicegen task in build.xml because I need this web project's classes in bean class. This JAR file contais's all(class,abstract,interface) class files.

My doubt is we cann't include any abstract class or interface in the bean method which is exposed as a web service? If included please tell me how to include.

My build.xml file contenta are as follows.....

<project name="WebServiceStatelessSession" default="ear" basedir=".">

<property name="source" value="src"/>

<property name="build" value="build"/>

<property name="ejb_jar_file" value="../eagleEJB/eagleEJB.jar"/>

<property name="war_file" value="basic_statelessSession.war"/>

<property name="ear_file" value="ws_basic_statelessSession.ear"/>

<property name="client_jar_file" value="eagleEJB_client.jar"/>

<property name="namespace" value="http://www.bea.com/servers/wls70/samples/examples/webservices/basic/statelessSession"/>


<taskdef name="servicegen" classname="weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask">

<classpath path="c:/bea/weblogic81/server/lib/webservices.jar"/>

<classpath path="c:/bea/weblogic81/server/lib/weblogic.jar"/>

</taskdef>

<target name="ear">

<servicegen

destear="${ear_file}" warname="${war_file}">


<service

ejbjar="${ejb_jar_file}"

targetnamespace="${namespace}"

servicename="eagleEJB"

serviceuri="/eagleEJB"

generatetypes="True"

expandmethods="True">

<client

saveWSDL="True"

packageName="examples.webservices.basic.statelessSession"

clientJarName="${client_jar_file}"

/>

</service>

<classpath>

<pathelement path="${build}"/>

<pathelement path="c:/bea/weblogic81/server/lib/webservices.jar"/>

<pathelement path="c:/bea/weblogic81/server/lib/weblogic.jar"/>

<pathelement path="c:/eclipse/workspace/eagleWeb/WebRoot/WEB-INF/classes"/>

<pathelement path="c:/j2sdk1.4.2_08/lib"/>

<pathelement path="c:/j2sdk1.4.2_08/lib/rt.jar"/>

</classpath>

</servicegen>

</target>


<taskdef name="clientgen" classname="weblogic.ant.taskdefs.webservices.clientgen.ClientGenTask">

<classpath path="c:/bea/weblogic81/server/lib/webservices.jar"/>

<classpath path="c:/bea/weblogic81/server/lib/weblogic.jar"/>

</taskdef>


<target name="client">

<property name="wsdlUrl" value="http://localhost:7001/basic_statelessSession/HelloWorldEJB?WSDL"/>

<clientgen wsdl="${wsdlUrl}"

packagename="examples.webservices.basic.statelessSession"

clientjar="${client_jar_file}">

<classpath>

<pathelement path="c:/bea/weblogic81/server/lib/webservices.jar"/>

<pathelement path="c:/bea/weblogic81/server/lib/weblogic.jar"/>

</classpath>

</clientgen>

</target>

</project>

and another error I am facing is
Buildfile: C:\eclipse\workspace\eagle\build.xml
ear:
[servicegen] Generating service "eagleEJB" ...
[servicegen] weblogic.xml.schema.binding.BindingException: unable to determine valid constructor for exception class java.lang.reflect.InvocationTargetException
[servicegen] at weblogic.ant.taskdefs.webservices.autotype.ComponentAutoTyper.mapComponent(ComponentAutoTyper.java:145)
[servicegen] at weblogic.ant.taskdefs.webservices.autotype.EJBAutoTyper.run(EJBAutoTyper.java:115)
[servicegen] at weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask.runAutoTyper(ServiceGenTask.java:367)
[servicegen] at weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask.generateService(ServiceGenTask.java:313)
[servicegen] at weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask.execute(ServiceGenTask.java:181)
[servicegen] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
[servicegen] at org.apache.tools.ant.Task.perform(Task.java:364)
[servicegen] at org.apache.tools.ant.Target.execute(Target.java:341)
[servicegen] at org.apache.tools.ant.Target.performTasks(Target.java:369)
[servicegen] at org.apache.tools.ant.Project.executeTarget(Project.java:1214)
[servicegen] at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:379)
[servicegen] at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:135)
[servicegen] Caused by: weblogic.xml.schema.binding.BindingException: unable to determine valid constructor for exception class java.lang.reflect.InvocationTargetException
[servicegen] at weblogic.xml.schema.binding.internal.codegen.JavaInspector.addPropertiesToException(JavaInspector.java:323)
[servicegen] at weblogic.xml.schema.binding.internal.codegen.JavaInspector.fillExceptionDescriptor(JavaInspector.java:251)
[servicegen] at weblogic.xml.schema.binding.internal.codegen.JavaInspector.fillDescriptor(JavaInspector.java:171)
[servicegen] at weblogic.xml.schema.binding.internal.codegen.JavaInspector.getDescriptor(JavaInspector.java:139)
[servicegen] at weblogic.xml.schema.binding.internal.codegen.JavaInspector.createDescriptorForClass(JavaInspector.java:106)
[servicegen] at weblogic.xml.schema.binding.internal.codegen.Compiler.compile(Compiler.java:106)
[servicegen] at weblogic.xml.schema.binding.internal.XSDTypeMappingBuilder.mapClass(XSDTypeMappingBuilder.java:89)
[servicegen] at weblogic.xml.schema.binding.internal.XSDTypeMappingBuilder.mapClass(XSDTypeMappingBuilder.java:102)
[servicegen] at weblogic.xml.schema.binding.internal.TypeMappingBuilderBase.addMapping(TypeMappingBuilderBase.java:180)
[servicegen] at weblogic.ant.taskdefs.webservices.autotype.ComponentAutoTyper.addMapping(ComponentAutoTyper.java:88)
[servicegen] at weblogic.ant.taskdefs.webservices.autotype.ComponentAutoTyper.mapComponent(ComponentAutoTyper.java:141)
[servicegen] ... 11 more
[servicegen] --- Nested Exception ---
[servicegen] weblogic.xml.schema.binding.BindingException: unable to determine valid constructor for exception class java.lang.reflect.InvocationTargetException
[servicegen] at weblogic.xml.schema.binding.internal.codegen.JavaInspector.addPropertiesToException(JavaInspector.java:323)
[servicegen] at weblogic.xml.schema.binding.internal.codegen.JavaInspector.fillExceptionDescriptor(JavaInspector.java:251)
[servicegen] at weblogic.xml.schema.binding.internal.codegen.JavaInspector.fillDescriptor(JavaInspector.java:171)
[servicegen] at weblogic.xml.schema.binding.internal.codegen.JavaInspector.getDescriptor(JavaInspector.java:139)
[servicegen] at weblogic.xml.schema.binding.internal.codegen.JavaInspector.createDescriptorForClass(JavaInspector.java:106)
[servicegen] at weblogic.xml.schema.binding.internal.codegen.Compiler.compile(Compiler.java:106)
[servicegen] at weblogic.xml.schema.binding.internal.XSDTypeMappingBuilder.mapClass(XSDTypeMappingBuilder.java:89)
[servicegen] at weblogic.xml.schema.binding.internal.XSDTypeMappingBuilder.mapClass(XSDTypeMappingBuilder.java:102)
[servicegen] at weblogic.xml.schema.binding.internal.TypeMappingBuilderBase.addMapping(TypeMappingBuilderBase.java:180)
[servicegen] at weblogic.ant.taskdefs.webservices.autotype.ComponentAutoTyper.addMapping(ComponentAutoTyper.java:88)
[servicegen] at weblogic.ant.taskdefs.webservices.autotype.ComponentAutoTyper.mapComponent(ComponentAutoTyper.java:141)
[servicegen] at weblogic.ant.taskdefs.webservices.autotype.EJBAutoTyper.run(EJBAutoTyper.java:115)
[servicegen] at weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask.runAutoTyper(ServiceGenTask.java:367)
[servicegen] at weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask.generateService(ServiceGenTask.java:313)
[servicegen] at weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask.execute(ServiceGenTask.java:181)
[servicegen] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
[servicegen] at org.apache.tools.ant.Task.perform(Task.java:364)
[servicegen] at org.apache.tools.ant.Target.execute(Target.java:341)
[servicegen] at org.apache.tools.ant.Target.performTasks(Target.java:369)
[servicegen] at org.apache.tools.ant.Project.executeTarget(Project.java:1214)
[servicegen] at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:379)
[servicegen] at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:135)
BUILD FAILED: C:\eclipse\workspace\eagle\build.xml:22: weblogic.xml.schema.binding.BindingException: unable to determine valid constructor for exception class java.lang.reflect.InvocationTargetException
Total time: 1 second
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Sep 21 2005
Added on Aug 24 2005
0 comments
191 views