I want to test a simple REST call in post using jersey. I call this method from the main:
public void TEST(JsonObject inputJson){
try {
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
WebResource webResource = client.resource("http://validate.jsontest.com");
ClientResponse response = webResource.type(MediaType.APPLICATION_JSON).accept(MediaType.APPLICATION_JSON)
.post(ClientResponse.class, inputJson.toString());
if (response.getStatus() != 200) {
throw new RuntimeException("Failed : HTTP error code : "
+ response.getStatus());
}
String stringOutput = response.getEntity(String.class);
System.out.println(stringOutput);
} catch (Exception e) {
e.printStackTrace();
}
}
Any suggestions? Did I forget something?
Here is an error I'm getting:
com.sun.jersey.api.client.ClientHandlerException: java.lang.NullPointerException at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:128) at com.sun.jersey.api.client.Client.handle(Client.java:457) at com.sun.jersey.api.client.WebResource.handle(WebResource.java:557) at com.sun.jersey.api.client.WebResource.access$300(WebResource.java:69) at com.sun.jersey.api.client.WebResource$Builder.post(WebResource.java:499) at it.inail.util.RestCall.getEsearchOutputJson(RestCall.java:30) at it.inail.util.EntSearch.main(EntSearch.java:254) Caused by: java.lang.NullPointerException at com.sun.jersey.api.client.CommittingOutputStream.close(CommittingOutputStream.java:104) at com.sun.jersey.api.client.TerminatingClientHandler.writeRequestEntity(TerminatingClientHandler.java:294) at com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:179) at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:126) ... 6 more