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

Reply via email to