I use axis 1.1 and I try to create stubs, typeMappings etc. for a handmade wsdl file using WSDL2Java.
If I use the wsdl file that I attached to this mail, no typeMapping-classes are created. In other words the class TServiceID.java is not created. Never the less the created stub-classes want the TServiceID class.
Also deploy.wsdd contains no <typeMapping> elements.
But if I use only _one_ of the two operations - it doesn't matter which is commented out/deleted - the mappings are created.
Can anyone tell me why this is so?
Is it because both operations use similar return values? (A single tServiceID-element vs. a sequence of such elements)
Is the schema too complex for propper handling? (attributes involved)
Is the problem related to the doc/lit style I wanted to use?
thanks, Christoph
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://services.test0.com/ws/test/" targetNamespace="http://services.test0.com/ws/test/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s0="http://services.test0.com/ws/test/schema/" xmlns:xs="http://www.w3.org/2001/XMLSchema" >
<types>
<xs:schema
xmlns:ns="http://services.test0.com/ws/test/schema/"
targetNamespace="http://services.test0.com/ws/test/schema/">
<xs:complexType name="tEmptyMsg" />
<xs:complexType name="tServiceID">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="kind" type="xs:string" default="ID"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="tServices">
<xs:sequence>
<xs:element name="service" minOccurs="0" maxOccurs="unbounded" type="s0:tServiceID" />
</xs:sequence>
</xs:complexType>
<xs:element name="subscribeService" type="s0:tServiceID" />
<xs:element name="subscribeServiceResponse" type="s0:tServiceID" />
<xs:element name="listAvailableServices" type="s0:tEmptyMsg" />
<xs:element name="listAvailableServicesResponse" type="s0:tServices" />
</xs:schema>
</types>
<message name="subscribeService">
<part name="param" element="s0:subscribeService"/>
</message>
<message name="subscribeServiceResponse">
<part name="param" element="s0:subscribeServiceResponse"/>
</message>
<message name="listAvailableServices">
<part name="param" element="s0:listAvailableServices"/>
</message>
<message name="listAvailableServicesResponse">
<part name="param" element="s0:listAvailableServicesResponse"/>
</message>
<portType name="TestServicesSOAP">
<operation name="subscribeService">
<input message="tns:subscribeService"/>
<output message="tns:subscribeServiceResponse"/>
</operation>
<operation name="listAvailableServices">
<input message="tns:listAvailableServices"/>
<output message="tns:listAvailableServicesResponse"/>
</operation>
</portType>
<binding name="bindingTestServiceSOAP" type="tns:TestServicesSOAP">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="subscribeService">
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="listAvailableServices">
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
<service name="TestServices">
<port name="TestServicesSOAP" binding="tns:bindingTestServiceSOAP">
<soap:address location="http://localhost:8080/axis/services/TestServices"/>
</port>
</service>
</definitions>
