У меня есть следующий метод:
private static final String UTF_8 = "UTF-8";
private static final int TIMEOUT = 5000;
private static final String DATASTREAM_URI = "MY_VALID_URL_HERE";
@Override
public Response logHttpMessage(final String logHttpMessageXml) throws UnsupportedEncodingException {
final Client client = new ResteasyClientBuilder()
.establishConnectionTimeout(TIMEOUT, TimeUnit.MILLISECONDS)
.socketTimeout(TIMEOUT, TimeUnit.MILLISECONDS)
.build();
final WebTarget target = client.target(DATASTREAM_URI);
return target.request().header(HttpHeaders.CONTENT_LENGTH, logHttpMessageXml.getBytes(UTF_8).length)
.post(Entity.entity(logHttpMessageXml, MediaType.APPLICATION_XML_TYPE));
}
Я добавляю заголовок следующим образом: .header(HttpHeaders.CONTENT_LENGTH, logHttpMessageXml.getBytes(UTF_8).length)
Но я получаю эту ошибку при выполнении запроса:
ПРИМЕЧАНИЕ. Мне нужно установить длину содержимого, чтобы запретить фрагментацию, моя конечная точка покоя (вне моего контроля) НЕ реагирует правильно на фрагментированные данные.
Я искал в Интернете, но не нашел решения, как я могу это решить? Заранее спасибо!