Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.6.2, 2.6.5, 2.7.2
-
None
-
Unknown
Description
The content of the Outbound SOAP message in RPC/literal web service in current CXF is like below:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:returnNullResponse xmlns:ns1="http://serverrpc.testdata.soapbinding.annotations/">
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>Cannot write part return. RPC/Literal parts cannot be null. (WS-I BP R2211)</faultstring>
</soap:Fault>
</ns1:returnNullResponse>
</soap:Body>
</soap:Envelope>
If we use RI/Axis2 client, then it will not catch the WebServiceException. The reason is that CXF wrapped the Fault in the common response element.
With this fix, the SOAP message in this scenario will be like below, which will catch the WebServiceException using RI/Axis2 client.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>Cannot write part return. RPC/Literal parts cannot be null. (WS-I BP R2211)</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>