Как хранить URL с символом & в сообщении SOAP - PullRequest
0 голосов
/ 26 мая 2011

Я создал службу Windows, которая загружает мультимедийные файлы (.ts, .mpg, ...) в FTP-репозиторий CDN, а затем CDN вызывает веб-службу для получения ссылки для загрузки каждого файла.

Ссылка для скачивания выглядит следующим образом:

http://CompanyName-­‐yy.XXX.net/XXX/folder.asp?param1=636&param2=123

Затем я сохраняю все ссылки на скачивание в сообщении SOAP и вызываю другой веб-сервис.

Мой вопрос: каксохранить URL-адрес с символом & без его кодирования?Если мне нужно его кодировать, должна ли другая сторона, получившая мой запрос, снова его декодировать?

Ответы [ 2 ]

2 голосов
/ 26 мая 2011

Вы отправляете запрос XML, поэтому у вас есть для его кодирования в соответствии со стандартами XML.Это включает в себя замену & в значениях сущностью &, если только вы не используете CDATA контент.

Расшифровка - это ответственность клиента, и если он не использует полностью скелеты или самописецСинтаксический анализатор XML, который уже должен обрабатываться используемым синтаксическим анализатором.

Тем не менее, мне интересно, как вы вызываете запрос SOAP для начала?Обычно, когда вы создаете адаптер веб-службы с использованием файла WSDL, вы просто заполняете свойства соответствующего класса и отправляете запрос, вообще не думая о кодировке.

0 голосов
/ 26 мая 2011

См. http://msdn.microsoft.com/en-us/library/aa226544(v=sql.80).aspx:

В запросах, выполненных по URL, специальные символы указаны как % xx, где xx - шестнадцатеричное значение персонажа. Следующая таблица перечисляет эти специальные символы и описывает их значения. Для большего информация, см. RFC1738 спецификация в http://www.faqs.org/rfcs/rfc1738.html.

Специальный символ & представлен %26 в URL.


Ой, я вижу, вы хотите закодировать & в XML, поэтому используйте &, как сказал SirViver.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...