cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Beryozkin (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CXF-5795) Reading the entity from a Response with 202 - Accepted causes NullPointerException
Date Thu, 14 Aug 2014 11:40:11 GMT

    [ https://issues.apache.org/jira/browse/CXF-5795?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14096879#comment-14096879
] 

Sergey Beryozkin commented on CXF-5795:
---------------------------------------

I've added a test confirming it works:

http://git-wip-us.apache.org/repos/asf/cxf/commit/91f89e48

but only if a WebClient sets a contextual property "org.apache.cxf.transport.processOneWayResponse"
to true.

At the moment it is disabled by default and HttpConduit resets InputStream to null. I believe
it is the *optimization* related to the use of WS-RM in scope of working with SOAP services
but it would make sense even for HTTP clients thinking they post one way requests.

202 is very often associated with one way requests, it's a bit unusual to have the entity
returned as part of the regular HTTP responses. 

I've reopened this JIRA because may be I can set this property to true by default if the client
does not set a oneway  exchange property.

> Reading the entity from a Response with 202 - Accepted causes NullPointerException
> ----------------------------------------------------------------------------------
>
>                 Key: CXF-5795
>                 URL: https://issues.apache.org/jira/browse/CXF-5795
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 2.7.11
>         Environment: Apache CXF 2.7.11
>            Reporter: Daniel Peder Dahlsveen
>            Assignee: Sergey Beryozkin
>             Fix For: 2.7.12, 3.0.1
>
>         Attachments: cxf-demo.zip
>
>
> The entity of a Response with HTTP status code 202 - Accepted is null. This causes a
NullPointerException when calling response.readEntity(). Furthermore, this bug seems to only
occur when using the JAXRSClientFactory, and it was introduced in CXF 2.7.11.
> The stacktrace is of the NullPointerException:
> java.lang.NullPointerException
> 	at org.apache.cxf.jaxrs.impl.ResponseImpl.doReadEntity(ResponseImpl.java:345)
> 	at org.apache.cxf.jaxrs.impl.ResponseImpl.readEntity(ResponseImpl.java:286)
> 	at org.apache.cxf.jaxrs.impl.ResponseImpl.readEntity(ResponseImpl.java:276)
> To recreate the bug do the following:
> Create a REST service that returns a 202 - Accepted with a non-null entity. In our case,
the service was for HTTP POST.
> Create a unit test that tests the service by creating a client with the JAXRSClientFactory
and then reads the entity from the response. 
> Both return Response.accepted(entity).build(); and return Response.status(Response.Status.ACCEPTED).entity(entity).build();
causes the bug.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message