Отправка URL через SOAP-запрос

Я общаюсь с телевизором через запросы SOAP, чтобы заставить его воспроизводить URL-адреса видео. Все это хорошо работает для простых URL-адресов, таких как http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4, но как только аргументы добавляются к URL-адресу http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4?fname=fred&lname=jones, XML становится неверным (символ '&' имеет особое значение в XML).

Мой вопрос заключается в том, есть ли метод, который я могу использовать для отправки сообщения, чтобы XML был действительным, а телевизор все еще мог расшифровать URL-адрес. Пример сообщения выглядит следующим образом:

<?xml version=\"1.0\"?> 
<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\" s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">
    <s:Body> 
        <u:SetAVTransportURI xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\"> 
            <InstanceID>0</InstanceID> 
            <CurrentURI>http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4</CurrentURI> 
            <CurrentURIMetaData>NOT_IMPLEMENTED</CurrentURIMetaData> 
        </u:SetAVTransportURI> 
    </s:Body> 
</s:Envelope>

Я уже пробовал следующее:

  • Включение URL-адреса в ‹[!CDATA[]]> (это не удается, поскольку телевизор просто берет весь текст из тега)
  • Кодирование URL-адреса с помощью кодировки URL-адреса (замена специальных символов, таких как «&», на %26. Телевизор считает, что это недопустимый URL-адрес)

Любая помощь приветствуется


person fallaciousreasoning    schedule 12.02.2015    source источник


Ответы (1)


попробуйте использовать &amp; вместо &

http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4?fname=fred&amp;lname=jones
person polarrwl    schedule 12.02.2015
comment
Спасибо, мы пробовали, но не получается декодировать на ТВ. - person fallaciousreasoning; 12.02.2015
comment
Похоже у вас продвинуто-примитивный телевизор. Как насчет того, чтобы сократить URL-адрес с помощью средства сокращения URL-адресов, например bitly, и передать его на телевизор? - person TejSoft; 12.02.2015
comment
Хорошая идея, только что попробовал, не работает ни с какой ссылкой. Кажется, ему не нравятся перенаправления :/ - person fallaciousreasoning; 12.02.2015
comment
Похоже, телевизор хочет только ссылку на видеофайл. Почему вы хотите передать параметры строки запроса вместе со ссылкой на файл mp4? Я предполагаю, что телевизор подключится к Интернету, загрузит видеофайл и воспроизведет его. У него нет цели иметь параметры строки запроса. - person TejSoft; 12.02.2015
comment
Возможно, вам лучше обратиться в службу поддержки производителя телевизора. - person TejSoft; 12.02.2015