У меня есть служба REST и клиент. Я пытаюсь вызвать эту службу, чтобы напрямую использовать JSON и преобразовать ее в объект, который мне нужен. Но это не работает. Я получаю следующую ошибку: читатель тела сообщения для класса Java com.a.b.c.D и класс типа Java com.a.b.c.D и MIME application/json не был найден.Джерси Служба REST не потребляет JSON
Услуги:
@Path("/getListPrice")
public class ListPriceService {
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@Type(PricingObject.class)
public Response search(PricingObject pricingObject, @Context final HttpHeaders headers) {
.........
return Response.ok().entity(pricingObject).build();
}
}
Клиент:
WebResource webResource = client.resource(url);
ClientResponse response = webResource.accept(MediaType.APPLICATION_JSON)
.type(MediaType.APPLICATION_JSON_TYPE)
.post(ClientResponse.class, pricingObjectRequest);
if (response.getStatus() != 200) {
throw new RuntimeException("Failed : HTTP error code : " + response.getStatus());
}
Может кто-нибудь сказать мне, что происходит не так?
Я добавил изменения, которые вы упомянули, к моему web.xml, а также моему клиенту, но все же я получаю ту же проблему. –
Является ли это проблемой на стороне сервера? Это где вы получаете исключение? Если да, то покажите ваш web.xml –
я понял вопрос, то INIT-парам не был добавлен правильно, а также пришлось добавить \t \t \t com.sun.jersey.config.property.resourceConfigClass \t \t \t com.sun.jersey.api.core.PackagesResourceConfig param-value> \t \t –