2015-11-17 2 views
-1

I`m пытается запросить веб-сервис по джерси клиент:запроса клиента Джерси на веб-службу

WebResource service = client.resource(UriBuilder.fromUri("http://localhost:8080/jersey-example-new/").build()); 
System.out.println(service.path("rs/").path("account/details/1").accept(MediaType.APPLICATION_JSON).get(String.class)); 

, но я получаю:

GET http://localhost:8080/jersey-example-new/rs/account/details/1 returned a response status of 406 Not Acceptable 

Пожалуйста, обратите внимание, что Путь URL http://localhost:8080/jersey-example-new/rs/account/details/1 работы в браузере. Что не так с запросом клиента java?

код конечной точки:

@Path("account") 
public class AccountDetailsService { 

    @GET 
    @Path("/details/{param}") 
    @Produces(MediaType.TEXT_PLAIN) 
    public Response getAccountDetails(@PathParam("param") String accountName) { 
     String output = "Account Name : " + accountName; 
     return Response.status(200).entity(output).build(); 
    } 
} 
+0

Говорят, данные, которые вы возвращаете в ответ, не находятся в 'MediaType.APPLICATION_JSON'. Проверьте свой метод для сгенерированного вывода. – Parth

+0

Показать код вашего конечного метода. –

+0

@ CássioMazzochiMolin посмотреть вопрос – andy007

ответ

1

Вы должны изменить

System.out.println(service.path("rs/").path("account/details/1").accept(MediaType.APPLICATION_JSON).get(String.class));

в System.out.println(service.path("rs/").path("account/details/1").accept(MediaType.TEXT_PLAIN).get(String.class));

Вы только производить TEXT_PLAIN, но вы запрашиваете типа носителя APPLICATION_JSON (через accept header), поэтому вы получаете ответ, что запрос неприемлем.

Смежные вопросы