[ 
https://issues.apache.org/jira/browse/CXF-4784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bin Zhu updated CXF-4784:
-------------------------

    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>

  was:
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.

    
> enhance CXF to follow jaxws spec 3.6.2.3 when using RI or Axis2 client
> ----------------------------------------------------------------------
>
>                 Key: CXF-4784
>                 URL: https://issues.apache.org/jira/browse/CXF-4784
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-WS Runtime
>    Affects Versions: 2.6.2, 2.6.5, 2.7.2
>            Reporter: Bin Zhu
>            Assignee: Freeman Fang
>             Fix For: 2.5.9, 2.6.6, 2.7.3, 2.8.0
>
>         Attachments: CXF-4784.patch
>
>
> 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>

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to