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

Philippe Larouche commented on CXF-5795:
----------------------------------------

Hi Sergey,

I confirm I can read the data with the HttpURLConnection.  Here is how I called 
the WS, please note that I'm using a post call (I think it's working when using 
get):

            ObjectMapper mapper = new ObjectMapper();
            String jsonLot = mapper.writeValueAsString(lot);
            
            // Connect to google.com
            URL url = new 
URL("http://localhost:9000/api/encaissement/1.0/creerlot";);
            HttpURLConnection connection = (HttpURLConnection) 
url.openConnection();
            connection.setDoOutput(true);
            connection.setRequestMethod("POST");
            connection.setRequestProperty("Content-Type", "application/json");
            connection.setRequestProperty("Content-Length",  
String.valueOf(jsonLot.length()));
             
            // Write data
            OutputStream os = connection.getOutputStream();
            os.write(jsonLot.getBytes());
             
            // Read response
            StringBuilder responseSB = new StringBuilder();
            BufferedReader br = new BufferedReader(new 
InputStreamReader(connection.getInputStream()));
              
            String line;
            while ( (line = br.readLine()) != null)
                responseSB.append(line);
                     
            // Close streams
            br.close(); 
            os.close();

At the end, responseSB contains the expected json string.

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

Reply via email to