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

Daniel Kulp resolved CXF-6733.
------------------------------
    Resolution: Won't Fix
      Assignee: Daniel Kulp

WS-BP requires soap messages that are not a fault to use 200.  You can add an 
interceptor to the in chain to map the 202->200, but it's not something we'll 
do normally as it's against spec.

> Reading response body for HTTP status code 202 (JAX-WS)
> -------------------------------------------------------
>
>                 Key: CXF-6733
>                 URL: https://issues.apache.org/jira/browse/CXF-6733
>             Project: CXF
>          Issue Type: Bug
>          Components: Core, Transports
>    Affects Versions: 3.1.4
>         Environment: Apache CXF 3.1.4, Windows 7 Professional 64 Bit System
>            Reporter: Pratik Pai
>            Assignee: Daniel Kulp
>             Fix For: Invalid
>
>
> Background:
> Developing a CXF client to consume SOAP web service developed in dot net.
> Aim:
> To read response entity(soap envelope) returned by the service in case of 
> HTTP 202 response.
> Scenario:
> The service does not support WS-Addressing nor WS-RM but still returns HTTP 
> 202 with SOAP envelope response which is as good as a normal service 
> returning HTTP 202 with response.
> Issue:
> On returning a HTTP 202 it is treated as a one-way request and the response 
> was ignored. In order to process the response I have set the property in the 
> client port:
> BindingProvider provider = (BindingProvider)port;     
> provider.getRequestContext().put(Message.PROCESS_ONEWAY_RESPONSE, true);
> which now allows me to process the response in case of HTTP 202 but it is not 
> set in the resulting object. This is because of the method 
> processResult(class ClientImpl in the core jar) returning null due to the 
> below code which expects a decoupled endpoint which is not true in my 
> scenario.
> Integer responseCode = (Integer)exchange.get(Message.RESPONSE_CODE);
>         if (null != responseCode && 202 == responseCode) {
>             Endpoint ep = exchange.getEndpoint();
>             if (null != ep && null != ep.getEndpointInfo() && null == 
> ep.getEndpointInfo().
>                 
> getProperty("org.apache.cxf.ws.addressing.MAPAggregator.decoupledDestination"))
>  {
>                 return null;
>             }
>         }
> Please advise how the response can be processed in this scenario.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to