Джерси отправляет xml вместо json - PullRequest
1 голос
/ 17 марта 2020

Я использую JAVA и библиотеку Джерси для отправки запросов на внешнюю службу REST. Приложение развернуто на weblogi c. Я заметил, что иногда (это около 1% всех запросов), вместо JSON отправляется xml.

Клиент из пакета com.sun.jersey.api.client.

 Client client = new Client();
 client.addFilter(new CustomFilter(logger));
 WebResource resource = client.resource(url);

 WebResource.Builder builder = resource.type(MediaType.APPLICATION_JSON)
 builder.post(ClientResponse.class, request)

Над объектом запроса находится пользовательский класс с аннотацией: @XmlRootElement. CustomFilter расширяет ClientFilter.

В журналах я вижу:

2020-03-01T14:12:42
> POST https://api/resource
> Content-Type: application/json
{"attr1":"1","attr2":"2"}
|
2020-03-01T14:12:53
> POST https://api/resource
<?xml version="1.0" encoding="UTF-8"?><customRequest><attr1>1</attr1><attr2>2</attr2></customRequest>

Время ожидания на клиенте установлено равным 10 секундам. Как видите, время между запросом JSON и запросом XML составляет 11 секунд. Ответ возвращается после XML запроса. Похоже, что JSON вообще не было отправлено.

Версия на Джерси 1.19.1. Это ошибка на Джерси?

...