Я пытаюсь отправить сообщение в веб-службу, которая требует, чтобы заголовок Content-Length был установлен с помощью следующего кода:
// EDIT: added apache connector code
ClientConfig clientConfig = new ClientConfig();
ApacheConnector apache = new ApacheConnector(clientConfig);
// setup client to log requests and responses and their entities
client.register(new LoggingFilter(Logger.getLogger("com.example.app"), true));
Part part = new Part("123");
WebTarget target = client.target("https://api.thing.com/v1.0/thing/{thingId}");
Response jsonResponse = target.resolveTemplate("thingId", "abcdefg")
.request(MediaType.APPLICATION_JSON)
.header(HttpHeaders.AUTHORIZATION, "anauthcodehere")
.post(Entity.json(part));
Из примечаний к выпуску https://java.net/jira/browse/JERSEY-1617 и документации Джерси 2.0 https://jersey.java.net/documentation/latest/message-body-workers.html подразумевается, что Content -Length автоматически устанавливается. Тем не менее, я получаю код ответа 411 с сервера, указывающий, что Content-Length не присутствует в запросе.
Кто-нибудь знает лучший способ получить набор заголовков Content-Length?
Я проверил настройку регистратора, что заголовок Content-Length не генерируется в запросе.
Спасибо.