I have realized that there is something wrong when Axis generated the Java files. In particular, the following doesn't quite work:

<types>
<schema targetNamespace="urn:cees"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:ns="urn:cees"
xmlns="http://www.w3.org/2001/XMLSchema";
elementFormDefault="unqualified"
attributeFormDefault="unqualified">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="QueryResult">
<sequence>
<element name="docID" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
<element name="subject" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
</sequence>
</complexType>
<complexType name="QueryResultCollection">
<sequence>
<element name="item" type="ns:QueryResult" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
</sequence>
</complexType>
<element name="query" type="xsd:string"/>
<element name="result" type="ns:QueryResultCollection"/>
</schema>


</types>

<message name="queryRequest">
 <part name="query" element="ns:query"/>
</message>

<message name="queryResponse">
 <part name="result" element="ns:result"/>
</message>

Note the queryResponse message reference to a ns:result, and result is defined as an element in the schema of ns:QueryResultCollection. However, Axis doesn't seem to be able to generate the QueryResultCollection.

If I change the type to

<message name="queryResponse">
 <part name="result" type="ns:QueryResultCollection"/>
</message>

Then Axis would generate the class. Does anybody know why Axis doesn't generate the class in the first place?


Will

Reply via email to