Я использую jersey-клиент для отправки данных в веб-сервис. Я заметил какое-то странное поведение от клиента Джерси.jersey client not throwing exceptions property
Я использую следующий код:
WebResource resource=null;
try {
ClientResponse response = resource.accept(mediaType).post(ClientResponse.class, requestEntity);
System.out.println("Successful response received, statusCode=" + jerseyClientResponse.getStatus());)
} catch (UniformInterfaceException e) {
ClientResponse r = e.getResponse();
System.out.println("Exception from server, statusCode="+r.getStatus());
}
Если сервер возвращает 404 статуса, я ожидал джерси бросить UniformInterfaceException исключения, но когда я выполнить код, я получаю следующее сообщение:
Successful response received, statusCode=404
Может ли кто-нибудь сказать мне, почему UniformInterfaceException не получает бросок?
Я использую jersey client version 1.18.
Заранее благодарен!
Согласно документации (https://jersey.java.net/apidocs/1.8/jersey/index.html?com/sun/jersey/api/client/UniformInterfaceException.html) генерируется UniformInterfaceException «если статус ответа HTTP больше или равен 300, а c не является типом ClientResponse». В вашем случае «c» имеет тип ClientResponse, поэтому исключение не выбрасывается. –
Спасибо! Я пропустил это :( – user1229404