Hi,
I have a problem with AXIS alpha3 not generating all java classes
when using arrays of complex types:
My WSDL file (please find array.wsdl as an attachement) contains a
array definition as well as a complex type definition (which is the
array base element).
If I uncomment the comment-out parts all classes gets generated, but
I really do not need the additional defined operation etc.
If I leave the comments inside, some java source files are missing
after the generation (according to the file system contents and
compiler error messages).
BTW: I use the following command (CLASSPATH includes the neccessary
JAR files):
$ java org.apache.axis.wsdl.Wsdl2java -s -o classes array.wsdl
Any hints?
Thanx,
hardy
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:s="http://aaa.bbb/ccc/xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://aaa.bbb/ccc" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="xyz"
targetNamespace="http://aaa.bbb/ccc">
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://aaa.bbb/ccc/xsd">
<complexType xmlns="http://www.w3.org/2001/XMLSchema"
name="ArrayOfSOAPStruct">
<complexContent
xmlns="http://www.w3.org/2001/XMLSchema">
<restriction
xmlns="http://www.w3.org/2001/XMLSchema" base="SOAP-ENC:Array">
<sequence
xmlns="http://www.w3.org/2001/XMLSchema">
<element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="unbounded" name="item"
type="s:SOAPStruct"/>
</sequence>
<attribute
xmlns="http://www.w3.org/2001/XMLSchema" ref="SOAP-ENC:arrayType"
wsdl:arrayType="s:SOAPStruct[]"/>
</restriction>
</complexContent>
</complexType>
<complexType xmlns="http://www.w3.org/2001/XMLSchema"
name="SOAPStruct">
<sequence xmlns="http://www.w3.org/2001/XMLSchema">
<element
xmlns="http://www.w3.org/2001/XMLSchema" name="varString" type="string"/>
<element
xmlns="http://www.w3.org/2001/XMLSchema" name="varInt" type="int"/>
<element
xmlns="http://www.w3.org/2001/XMLSchema" name="varFloat" type="float"/>
<element
xmlns="http://www.w3.org/2001/XMLSchema" name="varBase64" type="base64Binary"/>
<element
xmlns="http://www.w3.org/2001/XMLSchema" name="varDateTime" type="dateTime"/>
<element
xmlns="http://www.w3.org/2001/XMLSchema" name="varDecimal" type="decimal"/>
<element
xmlns="http://www.w3.org/2001/XMLSchema" name="varBoolean" type="boolean"/>
</sequence>
</complexType>
</schema>
</types>
<!--
<message xmlns="http://schemas.xmlsoap.org/wsdl/" name="_echoStructRequest">
<part name="inputStruct" type="s:SOAPStruct"/>
</message>
<message xmlns="http://schemas.xmlsoap.org/wsdl/" name="_echoStructResponse">
<part name="return" type="s:SOAPStruct"/>
</message>
-->
<message xmlns="http://schemas.xmlsoap.org/wsdl/"
name="echoStructArrayRequest">
<part name="inputStructArray" type="s:ArrayOfSOAPStruct"/>
</message>
<message xmlns="http://schemas.xmlsoap.org/wsdl/"
name="echoStructArrayResponse">
<part name="return" type="s:ArrayOfSOAPStruct"/>
</message>
<portType xmlns="http://schemas.xmlsoap.org/wsdl/" name="ArrayPort">
<!--
<operation name="_echoStruct" parameterOrder="inputStruct">
<input message="tns:_echoStructRequest" name="echoStruct"/>
<output message="tns:_echoStructResponse"
name="echoStructResponse"/>
</operation>
-->
<operation name="echoStructArray" parameterOrder="inputStructArray">
<input message="tns:echoStructArrayRequest"
name="echoStructArray"/>
<output message="tns:echoStructArrayResponse"
name="echoStructArrayResponse"/>
</operation>
</portType>
<binding xmlns="http://schemas.xmlsoap.org/wsdl/" name="ArrayBinding"
type="tns:ArrayPort">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<!--
<operation name="_echoStruct">
<soap:operation soapAction="http://aaa.bbb/ccc/array/"/>
<input>
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://tempuri.org/abc" use="encoded"/>
</input>
<output>
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://tempuri.org/abc" use="encoded"/>
</output>
</operation>
-->
<operation name="echoStructArray">
<soap:operation soapAction="http://aaa.bbb/ccc/array/"/>
<input>
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://tempuri.org/abc" use="encoded"/>
</input>
<output>
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://tempuri.org/abc" use="encoded"/>
</output>
</operation>
</binding>
<service xmlns="http://schemas.xmlsoap.org/wsdl/" name="ArrayService">
<port binding="tns:ArrayBinding" name="ArrayService">
<soap:address
location="http://localhost:8080/array/services/ArrayService"/>
</port>
</service>
</definitions>