Ich verwende Jersey sowohl für den Dienst als auch für den Kunden. Wenn ich versuche, den Dienst aufzurufen, erhalte ich diesen Fehler:
Exception in thread "main" com.sun.jersey.api.client.UniformInterfaceException: GET http://localhost:8080/Maze/rest/service/overview?countryid=1 returned a response status of 204 No Content
at com.sun.jersey.api.client.ClientResponse.getEntity(ClientResponse.java:528)
at com.sun.jersey.api.client.ClientResponse.getEntity(ClientResponse.java:506)
at com.sun.jersey.api.client.WebResource.handle(WebResource.java:674)
at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:503)
at com.maze.client.MyClient.overviewTest(MyClient.java:34)
at com.maze.client.MyClient.main(MyClient.java:64)
Ich verstehe nicht, warum.
Hier ist der Dienst:
@GET
@Produces(MediaType.APPLICATION_JSON )
@Path("/overview")
public JSONArray getOverviewEntities(@QueryParam("countryid")String id){
JSONArray array = null;
try{
Integer countryId = Integer.parseInt(id);
ArrayList<Event> list = new ArrayList<Event>();
EventService event = new EventService();
EntityManagerSingleton.getInstance().getTransaction().begin();
list.addAll(event.getList(countryId, "country", 5));
EntityManagerSingleton.getInstance().getTransaction().commit();
for(Event ev : list){
array.add(EventService.toJSONObject(ev));
}
} catch(Exception e){
e.printStackTrace();
}
return array;
}
und dies ist der Kunde:
public static void overviewTest(){
WebResource wbr;
Client client = Client.create();
wbr = client.resource("http://localhost:8080/Maze/rest/service/overview");
JSONArray result = wbr.queryParam("countryid", "1").accept(MediaType.APPLICATION_JSON).get(JSONArray.class);
System.out.println(result.toString());
}
Ich habe wirklich keine Ahnung, was das Problem sein könnte. Ich bin mir bewusst, eine andere Frage hier mit einem scheinbar identischen Thema, aber sie sind nicht.
Bitte lassen Sie mich wissen, ob ich etwas übersehen habe oder ob Sie zusätzliche Informationen benötigen.