мой веб-сервис SOAP отвечает ISO-8859-1 , если в заголовке запроса http не задана кодировка.
Я попробовал следующее:
- установить следующее в jvm.options: -Dfile.encoding = UTF-8 -Duser.language = en -Duser.country = US -Dclient.encoding.override = UTF-8
- установить переменную среды (глобальную): DEFAULT_CLIENT_ENCODING = UTF-8
- создал обработчик SOAP, добавив charset = UTF-8, если он не существует в Content-Type
Но, тем не менее, в логах Liberty я вижу, что для входящего сообщения установлены следующие заголовки:
Encoding: ISO-8859-1
Http-Method: POST
Content-Type: application/soap+xml;action="myWSmethod"
Наши конечные пользователи, как правило, отправляют свои запросы без заголовка в заголовке запроса. Раньше у нас был традиционный WAS8, который по умолчанию использовал UTF-8.
Настройка Liberty на использование UTF-8 также не выполняется.
Возможно, есть скрытый параметр в server.xml?
Liberty использует CXF, перехватывает входящее сообщение и устанавливает заголовки. Почему он все еще использует ISO?
С уважением