Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / WebSphere и русские символы / 3 сообщений из 3, страница 1 из 1
16.09.2015, 20:37
    #39053249
BlackTomcat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WebSphere и русские символы
Добрый день!

Прошу прощения, если вопрос окажется нубским, но поиск в Гугле мне не помог.

Имеется сервис, работающий под IBM WebSphere 6.1. У него как водится есть wsdl, который описывает структуру данных и методы, которые возвращают объекты соответствующих java-классов. Данные возвращаются в кодировке UTF-8, при этом русские символы представляются escape-последовательностями вида
Код: xml
1.
<item>&#1056;&#1072;&#1079;&#1088;&#1072;&#1073;&#1086;&#1090;&#1095;&#1080;&#1082;</item>

и так далее. Но потребитель сервиса просит, чтобы мы возвращали русские символы в "нормальной форме", как это рекомендуется на w3.org.

Встал собственно вопрос: как этого добиться? Экранирования символов мы сами не делаем, это происходит как-то на уровне WebSphere (наверное). Попробовал в файле encoding.properties задать ru-UTF-8, не помогло. Задал в консоли администратора java-машине сервера параметры -Dclient.encoding.override=UTF-8 -Dfile.encoding=UTF-8, тоже не помогло.

Кто-нибудь может что-нибудь посоветовать или подсказать куда копать?

С уважением,
Black Tomcat
...
Рейтинг: 0 / 0
17.09.2015, 18:20
    #39054303
BlackTomcat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WebSphere и русские символы
В продолжение истории:

обнаружили в IBM knowlege center
IBMcom.ibm.ws.webservices.contentTransferEncoding
Use this property to specify a range of bits for which .XML-encoding is disabled. Typically any integer that is greater than 127 is XML-encoded. When you specify this property:

Web services disables encoding for integers that fall within the specified range.
The HTTP transport message contains a ContentTransferEncoding header that is set to the value that is specified for this custom property.

Specify 7bit, if you only want integers greater than 127 encoded. Specify 8bit, if you only want integers greater than 255 encoded. Specify binary, if you want encoding disabled for all integers.

The default value is 7bit.

[Updated in June 2011] If you decide to use this custom property, you must specify it as an application server JVM custom property. [Updated in June 2011]

Задали в настройках сервера св-во "binary", перезапустили сферу, но никакого эффекта это не оказало.
...
Рейтинг: 0 / 0
18.09.2015, 18:26
    #39055577
BlackTomcat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WebSphere и русские символы
Оказалось, нужно было еще fixpack на сферу накатить, чтобы эта настройка заработала.

Всем спасибо, вопрос закрыт :)

С уважением,
Black Tomcat
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / WebSphere и русские символы / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]