If wrapped style is used and multiple message parts are generated (because, for
example, a soap header parameter is declared), the generated wsdl does not
interop with RI or CXF client.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: CXF-2097
URL: https://issues.apache.org/jira/browse/CXF-2097
Project: CXF
Issue Type: Bug
Components: JAX-WS Runtime
Affects Versions: 2.1.4
Reporter: Gyorgy Orban
It happens because CXF by default uses the "parameters" name for both the input
and output message parts. The following web method demonstrates the issue:
@WebMethod(operationName = "Hello")
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
public void hello(
@WebParam(targetNamespace = "myns", name = "Message") String
message,
@WebParam(header = true, name = "myOutHeader", targetNamespace =
"myns", mode = Mode.OUT) Holder<String> header1) {
}
which produces:
<wsdl:message name="Hello">
<wsdl:part element="tns:Hello" name="parameters">
</wsdl:part>
</wsdl:message>
−
<wsdl:message name="HelloResponse">
<wsdl:part element="tns:HelloResponse" name="parameters">
</wsdl:part>
<wsdl:part element="tns:myOutHeader" name="myOutHeader">
</wsdl:part>
</wsdl:message>
The reference implementation produces the following:
<message name="Hello">
<part name="parameters" element="tns:Hello"/>
</message>
<message name="HelloResponse">
<part name="result" element="tns:HelloResponse"/>
<part name="myOutHeader" element="tns:myOutHeader"/>
</message>
Please see the patch attached that fixes this problem in 2.1.4 and makes CXF
generate the same as RI.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.