- PVSM.RU - https://www.pvsm.ru -

Передача параметров в HTTP-заголовке через запятую для Apache CXF

Предистория:

Согласно RFC-2616 [1], HTTP header можно передавать кучей разных способов.
Мы использовали вариант КЛЮЧ = <ЗНАЧЕНИЕ-1>,<ЗНАЧЕНИЕ-2>,...,<ЗНАЧЕНИЕ-N>
Библиотека Apache CXF до версии 2.5.8 (включительно) обрабатывала такую ситуацию корректно.

Проблема:

С версии 2.5.9 Apache CXF втихоря «улучшились» и допустимыми признают только КЛЮЧ = <ЗНАЧЕНИЕ>
Ни в документации, ни на форуме апача нет ответа на вопрос:

Как разрешить Apache CXF принимать параметры заголовка HTTP-запроса (HTTP header) через запятую?


Исследование исходных кодов библиотеки указало на решение проблемы.

Решение:

В конфиге beans.xml надо добавить:

<jaxrs:properties>
     <!-- enable comma separated HTTP header values. Example" "X-ListID: 0,100,13,25,16" -->
     <entry key="org.apache.cxf.http.header.split" value="true" />
</jaxrs:properties>

Автор: gis

Источник [2]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/java/33815

Ссылки в тексте:

[1] RFC-2616: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

[2] Источник: http://habrahabr.ru/post/179025/