Hi
Alan,
I
would like to expose an EJB as a Web Service - I assume that Axis can to do
this because it supplies an EJB provider. Java2Wsdl creates a
WSDL automatically for Java classes that implement java.rmi.Remote but
seems to choke if they implement javax.ejb.EJBObject (which extends
java.rmi.Remote). That's the problem.
Naresh
-----Original Message-----Sorry if this is a dumb question, but why do you need Java2Wsdl?
From: Alan Buxton [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, January 28, 2003 5:01 AM
To: [EMAIL PROTECTED]
Subject: Re: Does Java2Wsdl support EJBs?
on 26/1/03 11:42 AM, Naresh Bhatia at [EMAIL PROTECTED] wrote:
Does Java2Wsdl support WSDL generation from EJBs? I tried it but I am getting the following exception:
WSDLException: faultCode=OTHER_ERROR: Can't find prefix for 'http://ejb.javax'.
Namespace prefixes must be set on the Definition object using the
addNamespace(...) method.:
My ant build script is as follows (compile.path includes J2EE jars, thus the javax.ejb package):
<taskdef name="java2wsdl" classname="org.apache.axis.tools.ant.wsdl.Java2WsdlAntTask">
<classpath>
<path refid="axis.path"/>
</classpath>
</taskdef>
<target name="build-web-service">
<java2wsdl
classname="MyEjb"
implclass="MyEjbBean"
namespace="http://MyEjb"
location="http://camnbhati:7001/soap/services/MyService"
extraClasses=""
output="${build.dir}/MyService.wsdl">
<classpath>
<path refid="compile.path"/>
<pathelement location="${build.dir}"/>
</classpath>
</java2wsdl>
</target>
Here's are the exception details from java2WSD:
[java2wsdl] Java2WSDL MyEjb
[java2wsdl] WSDLException: faultCode=OTHER_ERROR: Can't find prefix for 'http://ejb.javax'.
Namespace prefixes must be set on the Definition object using the
addNamespace(...) method.:
[java2wsdl] at com.ibm.wsdl.util.xml.DOMUtils.getPrefix(Unknown Source)
[java2wsdl] at com.ibm.wsdl.util.xml.DOMUtils.getQualifiedValue(Unknown Source)
[java2wsdl] at com.ibm.wsdl.util.xml.DOMUtils.printQualifiedAttribute(Unknown Source)
[java2wsdl] at com.ibm.wsdl.xml.WSDLWriterImpl.printParts(Unknown Source)
[java2wsdl] at com.ibm.wsdl.xml.WSDLWriterImpl.printMessages(Unknown Source)
[java2wsdl] at com.ibm.wsdl.xml.WSDLWriterImpl.printDefinition(Unknown Source)
[java2wsdl] at com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Unknown Source)
[java2wsdl] at com.ibm.wsdl.xml.WSDLWriterImpl.getDocument(Unknown Source)
[java2wsdl] at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:269)
[java2wsdl] at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:338)
[java2wsdl] at org.apache.axis.tools.ant.wsdl.Java2WsdlAntTask.execute(Java2WsdlAntTask.java:249)
[java2wsdl] at org.apache.tools.ant.Task.perform(Task.java:319)
[java2wsdl] at org.apache.tools.ant.Target.execute(Target.java:309)
[java2wsdl] at org.apache.tools.ant.Target.performTasks(Target.java:336)
[java2wsdl] at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[java2wsdl] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:371)
[java2wsdl] at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:143)
[java2wsdl] at org.apache.tools.ant.Task.perform(Task.java:319)
[java2wsdl] at org.apache.tools.ant.Target.execute(Target.java:309)
[java2wsdl] at org.apache.tools.ant.Target.performTasks(Target.java:336)
[java2wsdl] at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[java2wsdl] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:371)
[java2wsdl] at org.apache.tools.ant.Task.perform(Task.java:319)
[java2wsdl] at org.apache.tools.ant.Target.execute(Target.java:309)
[java2wsdl] at org.apache.tools.ant.Target.performTasks(Target.java:336)
[java2wsdl] at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[java2wsdl] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:371)
[java2wsdl] at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:143)
[java2wsdl] at net.sf.antcontrib.logic.ForEach.execute(Unknown Source)
[java2wsdl] at org.apache.tools.ant.Task.perform(Task.java:319)
[java2wsdl] at org.apache.tools.ant.Target.execute(Target.java:309)
[java2wsdl] at org.apache.tools.ant.Target.performTasks(Target.java:336)
[java2wsdl] at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[java2wsdl] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:371)
[java2wsdl] at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:143)
[java2wsdl] at org.apache.tools.ant.Task.perform(Task.java:319)
[java2wsdl] at org.apache.tools.ant.Target.execute(Target.java:309)
[java2wsdl] at org.apache.tools.ant.Target.performTasks(Target.java:336)
[java2wsdl] at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[java2wsdl] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:371)
[java2wsdl] at org.apache.tools.ant.Task.perform(Task.java:319)
[java2wsdl] at org.apache.tools.ant.Target.execute(Target.java:309)
[java2wsdl] at org.apache.tools.ant.Target.performTasks(Target.java:336)
[java2wsdl] at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[java2wsdl] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:371)
[java2wsdl] at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:143)
[java2wsdl] at net.sf.antcontrib.logic.ForEach.execute(Unknown Source)
[java2wsdl] at org.apache.tools.ant.Task.perform(Task.java:319)
[java2wsdl] at org.apache.tools.ant.Target.execute(Target.java:309)
[java2wsdl] at org.apache.tools.ant.Target.performTasks(Target.java:336)
[java2wsdl] at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[java2wsdl] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:371)
[java2wsdl] at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:143)
[java2wsdl] at org.apache.tools.ant.Task.perform(Task.java:319)
[java2wsdl] at org.apache.tools.ant.Target.execute(Target.java:309)
[java2wsdl] at org.apache.tools.ant.Target.performTasks(Target.java:336)
[java2wsdl] at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[java2wsdl] at org.apache.tools.ant.Project.executeTargets(Project.java:1250)
[java2wsdl] at org.apache.tools.ant.Main.runBuild(Main.java:610)
[java2wsdl] at org.apache.tools.ant.Main.start(Main.java:196)
[java2wsdl] at org.apache.tools.ant.Main.main(Main.java:235)
