Java2WSDL is throwing a "bad QName (no namespace)" exception when attempting to create document-literal WSDL. Creation of rpc-encoded works fine. I'm using Axis 1.1 final. I'm not using the Axis Ant task but rather executing the 'Java2WSDL' class directly from Ant.
What am I missing?
Here's the Ant task:
<target name="java2wsdl" depends="jar">
<echo message="creating WSDL" />
<java
classname="org.apache.axis.wsdl.Java2WSDL"
classpathref="project.classpath"
failonerror="true"
fork="true">
<arg value="-o${build.dir}/${wsdl.file}" />
<arg value="-nhttp://www.mailman4j.org" />
<arg value="-xmain" />
<arg value="-y${axis.service.style}"/>
<arg value="-u${axis.service.encoding}"/>
<arg value="-l${axis.service.location}" />
<arg value="org.mailman4j.Mailman" />
</java>
</target>
Where:
${axis.service.style} = DOCUMENT
${axis.service.encoding} = LITERAL
Java2WSDL works fine with the following values:
${axis.service.style} = RPC
${axis.service.encoding} = ENCODED
The same exception is thrown when using 'WRAPPED/LITERAL'. Here's the output from Java2WSDL...
java2wsdl:
[echo] creating WSDL
[java] AxisFault
[java] faultCode: {http://xml.apache.org/axis/}Server.generalException
[java] faultSubcode:
[java] faultString: Attempted to write schema for bad QName (no namespace) : fault
[java] faultActor:
[java] faultNode:
[java] faultDetail:
[java] {http://xml.apache.org/axis/}stackTrace: AxisFault
[java] faultCode: {http://xml.apache.org/axis/}Server.generalException
[java] faultSubcode:
[java] faultString: Attempted to write schema for bad QName (no namespace) : fault
[java] faultActor:
[java] faultNode:
[java] faultDetail:
[java] Attempted to write schema for bad QName (no namespace) : fault
[java] at org.apache.axis.wsdl.fromJava.Types.writeSchemaElement(Types.java:656)
[java] at org.apache.axis.wsdl.fromJava.Emitter.writePartToMessage(Emitter.java:1368)
[java] at org.apache.axis.wsdl.fromJava.Emitter.writeFaultMessage(Emitter.java:1290)
[java] at org.apache.axis.wsdl.fromJava.Emitter.writeMessages(Emitter.java:909)
[java] at org.apache.axis.wsdl.fromJava.Emitter.writePortType(Emitter.java:848)
[java] at org.apache.axis.wsdl.fromJava.Emitter.getWSDL(Emitter.java:383)
[java] at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:262)
[java] at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:334)
[java] at org.apache.axis.wsdl.Java2WSDL.run(Java2WSDL.java:504)
[java] at org.apache.axis.wsdl.Java2WSDL.main(Java2WSDL.java:542)
[java] Attempted to write schema for bad QName (no namespace) : fault
[java] at org.apache.axis.wsdl.fromJava.Types.writeSchemaElement(Types.java:656)
[java] at org.apache.axis.wsdl.fromJava.Emitter.writePartToMessage(Emitter.java:1368)
[java] at org.apache.axis.wsdl.fromJava.Emitter.writeFaultMessage(Emitter.java:1290)
[java] at org.apache.axis.wsdl.fromJava.Emitter.writeMessages(Emitter.java:909)
[java] at org.apache.axis.wsdl.fromJava.Emitter.writePortType(Emitter.java:848)
[java] at org.apache.axis.wsdl.fromJava.Emitter.getWSDL(Emitter.java:383)
[java] at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:262)
[java] at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:334)
[java] at org.apache.axis.wsdl.Java2WSDL.run(Java2WSDL.java:504)
[java] at org.apache.axis.wsdl.Java2WSDL.main(Java2WSDL.java:542)
BUILD FAILED