JAX-WS и вопросы кодировки символов - PullRequest
2 голосов
/ 23 июля 2010

У меня есть вопрос об отправке XML в виде строки в веб-сервисе.Один из наших провайдеров разработал веб-сервис, который мы должны использовать.Их веб-сервис в основном является просто транспортным механизмом для их собственных сообщений запроса / ответа, например, класс MyRequest сериализуется в строку XML с использованием JAXB, передаваемого методу setRequest в их веб-сервисе, вероятно, потому, что это был самый простой способ для них, или, возможно, потому что они хотеливысокая прозрачность в их применении ... ну, я не знаю.

Во всяком случае.Вот мой вопрос.

Если у меня есть веб-сервис с кодировкой символов ISO_8859-1, но сериализованный XML имеет кодировку символов UTF-8 (или любую другую кодировку, поддерживающую больше символов, чем ISO_8859-1), это всегда будетбыть правильно сериализованным и десериализованным?Или мне нужно будет отправить информацию о содержимом строки?И если да, то как я могу это сделать?

Серверная часть веб-службы написана на .NET.Как совместимость между Java и .NET?Существуют ли в .NET кодировки, которые не поддерживаются в Java или наоборот?

/ Andreas

1 Ответ

0 голосов
/ 23 июля 2010

Если они правильно реализуют веб-сервис (и вы тоже), вам не нужно беспокоиться о кодировке символов, потому что:

  1. (правильно сформированный) XML имеет встроенныйметаданные, позволяющие точно определить используемую кодировку символов, а
  2. XML позволяет отображать любой символ Юникода в любой кодировке из-за числовых ссылок на символы

Итак, подведем итог: убедитесь, что обе стороны обрабатывают свой текст в среде с поддержкой Unicode (C # и Java подходят для этого), и используйте правильные библиотеки XML (обе среды поставляются с ними), и как только вы не возразитеэто вручную, у вас должно быть все в порядке.

...