Title: Does Java2Wsdl support EJBs?

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)

Reply via email to