[ http://issues.apache.org/jira/browse/CXF-269?page=all ]

Bozhong Lin updated CXF-269:
----------------------------

        Fix Version/s: 2.0-RC
    Affects Version/s: 2.0-RC

> CXF can not handle an empty reponse when using oneway operation.
> ----------------------------------------------------------------
>
>                 Key: CXF-269
>                 URL: http://issues.apache.org/jira/browse/CXF-269
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.0-RC
>            Reporter: Jervis Liu
>             Fix For: 2.0-RC
>
>
> I am doing an interop test between CXF and Artix. What I found is that the 
> hello_world sample does not work anymore (yes, it was working before, so this 
> is a bug introduced to cxf recently).
>     [exec]   [xs-exec]      [java] Invoking greetMeOneWay...
>     [exec]   [xs-exec]      [java] Exception in thread "main" 
> org.apache.cxf.binding.soap.SoapFault: Error reading XMLS
> reamReader.
>     [exec]   [xs-exec]      [java]     at 
> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(
> eadHeadersInterceptor.java:113)
>     [exec]   [xs-exec]      [java]     at 
> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(
> eadHeadersInterceptor.java:45)
>     [exec]   [xs-exec]      [java]     at 
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.
> ava:147)
>     [exec]   [xs-exec]      [java]     at 
> org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:251)
>     [exec]   [xs-exec]      [java]     at 
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(
> TTPConduit.java:485)
>     [exec]   [xs-exec]      [java]     at 
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.doClose(HTTPCon
> The reponse from Artix is as below:
> Content-Type: text/xml
> Content-Length: 0
> Connection: Keep-Alive
> Server: Artix/4.0
> I believe this a valid reponse, but CXF can not handle. Digging into the 
> code, I think the following code snippet from HTTPCondit (line 461) are 
> problematic:
>             if (exchange != null
>                 && exchange.isOneWay()
>                 && responseCode != HttpURLConnection.HTTP_ACCEPTED) {
>                 //oneway operation
>                 connection.getInputStream().close();
>                 return;
>             }
> However, as I am not 100% sure what impact we may have on partial response if 
> I change this code, so I will leave this bug to someone more familiar with 
> partial/decoupled response to fix. Basicly we should close the connection if 
> received reponse is for a one way operation.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to