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

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


    Согласно RFC-2616, 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>
    
    Поделиться публикацией

    Комментарии 0

    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.