Вопрос

У нас есть веб-сервис, работающий на Websphere 6.1 с использованием веб-сервисов на основе IBM JAX-RPC. Клиент отправляет запросы без HTTP-заголовка для передачи-кодировки: chunked (они указывают длину содержимого). Ответ от websphere всегда имеет кодировку передачи: chunked в заголовке HTTP. Я предполагаю, что это приведет к тому, что ответ будет отправлен несколькими частями. В системе, где инициатор запроса и поставщик услуг разделены многими посредниками (такими как брандмауэры и балансировщики нагрузки (T1 / F5)), этот вид разделения может привести к значительной задержке.

Это ссылка и эта link говорите о блокировке запросов, но ничего не упоминайте в ответе.

Есть ли способ настроить websphere, чтобы не добавлять кодировку передачи: chunked в ответе заголовка HTTP?

Это было полезно?

Решение

В веб-сфере размер порции определяется параметром " Размер буфера записи " в транспортной цепочке веб-контейнера входящего канала. Из их документации:

<Ч>

Если для обработки ответов клиенту требуется несколько операций записи, измените значение, указанное для параметра размера буфера записи, на значение, более подходящее для ваших клиентов. Параметр размера буфера записи определяет максимальный объем данных на поток, который веб-контейнер буферизует перед отправкой запроса на обработку. Значение по умолчанию составляет 32768 байт, что достаточно для большинства приложений. Если размер ответа больше размера буфера записи, ответ разбивается на части и записывается обратно в нескольких записях TCP.

Другие советы

Я не думаю, что вы можете настроить Websphere для этого, но, кроме того, это не должно иметь значения. Я рекомендую прочитать, что RFC 2616 говорит о кусочном кодировании; это не делает то, что вы думаете, что делает.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top