[
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)