【问题标题】:Sending a URL via a SOAP request通过 SOAP 请求发送 URL
【发布时间】:2015-02-12 02:48:56
【问题描述】:

我正在通过 SOAP 请求与电视通信,以便让它播放视频网址。这一切都适用于简单的 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 包含在 中(这会失败,因为电视只是从标签中获取所有文本)
  • 使用 url 编码对 url 进行编码(将 '&' 等特殊字符替换为 %26。电视认为它是无效的 URL)

感谢任何帮助

【问题讨论】:

    标签: c# xml soap upnp dlna


    【解决方案1】:

    尝试使用&amp;amp; 而不是&amp;

    http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4?fname=fred&amp;lname=jones
    

    【讨论】:

    • 谢谢,我们试过了,但在电视端解码失败
    • 看起来你有一台高级原始电视。使用像 bitly 这样的 url 缩短器来缩短 url 并将其传递给电视怎么样?
    • 好主意,只是试了一下,不适用于任何类型的链接。它似乎不喜欢重定向:/
    • 看起来电视只想要视频文件的链接。为什么要将查询字符串参数连同指向 mp4 文件的链接一起传递?我猜电视将连接到互联网,下载视频文件并播放。它没有查询字符串参数的目的。
    • 联系电视制造商的支持团队可能会更好。
    猜你喜欢
    • 2017-01-22
    • 1970-01-01
    • 1970-01-01
    • 2011-06-10
    • 2021-03-29
    • 1970-01-01
    • 1970-01-01
    • 2018-10-07
    • 1970-01-01
    相关资源
    最近更新 更多