Search code examples
javajsonweb-servicescxfjax-rs

Read response body in JAX-RS client from a post request


Having some sort of proxy between a mobile app and a web-service, we are puzzled by the response when issuing a post request. We receive response with status 200: OK. But we can not find/extract the JSON response body.

    Client client = ClientBuilder.newClient();
    WebTarget webTarget = client.target(WEBSERVICE_BASE_LOCATION + "mobileDevices?operatorCode=KPNSCP");
    String jsonString = "{\"osVersion\":\"4.1\",\"apiLevel\":16,\"devicePlatform\":\"ANDROID\"}";
    Builder builder = webTarget.request();
    Response response = builder.post(Entity.json(jsonString));

We are using JAX-RS. Can someone please provide some hints to extract the JSON body (String) from the server response?


Solution

  • Try this:

    String output = response.getEntity(String.class);
    

    EDIT

    Thanks to @Martin Spamer to mention that it will work for Jersey 1.x jars only. For Jersey 2.x use

    String output = response.readEntity(String.class);