I have the following WSDL:
<definitions ...>
<types>
<schema ...>
<element name="myOperation">
<complexType>
<sequence>
<element name="myData" type="tns:myDataType"/>
</sequence>
</complexType>
</element>
<element name="myOperationResponse">
<complexType>
<sequence>
<element name="myData" type="tns:myDataType"/>
</sequence>
</complexType>
</element>
</schema>
</types>
<message name="myOperationRequest">
<part element="tns:myOperation" name="myParameters"/>
</message>
<message name="myOperationResponse">
<part element="tns:myOperationResponse" name="myResult"/>
</message>
<portType name="myPortType">
<operation name="myOperation">
<input message="tns:myOperationRequest name="myOperationRequest"/>
<output message="tns:myOperationResponse"name="myOperationResponse"/>
</operation>
</portType>
</definitions>
That's a simple pattern, an operation using the same element+type as
input and ouput.
From that WSDL the JAXWS reference implementation wsimport tool
generates a Java method with an INOUT JAXWS Holder parameter. The CXF
wsimport tool does the same.
@WebMethod
@RequestWrapper(localName = "myOperation",
targetNamespace = "...", className = "...MyOperation")
@ResponseWrapper(localName = "myOperationResponse",
targetNamespace = "...", className = "...MyOperationResponse")
public void myOperation(
@WebParam(name = "myData", targetNamespace = "",
mode = WebParam.Mode.INOUT)
Holder<MyDataType> myMessage);
Is that supported by Tuscany? Can I use the generated Java interface on
a reference wired to a service typed by the above WSDL?
--
Jean-Sebastien