You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Jervis Liu (JIRA)" <ji...@apache.org> on 2006/12/06 07:53:29 UTC

[jira] Resolved: (CXF-269) CXF can not handle an empty reponse when using oneway operation.

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

Jervis Liu resolved CXF-269.
----------------------------

    Resolution: Fixed

> 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