Details
Description
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.