如何使用'&'存储网址SOAP消息中的字符

时间:2011-05-26 12:44:39

标签: c# soap

我创建了一个Windows服务,将媒体文件(.ts,.mpg,...)上传到CDN FTP存储库,然后CDN调用Web服务获取每个文件的下载链接。

下载链接如下:

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

然后我将所有下载链接存储到SOAP消息中,然后调用另一个Web服务。

我的问题:如何在不编码的情况下保存带有&字符的网址?如果我必须对其进行编码,接收我的请求的另一方是否应该再次对其进行解码?

2 个答案:

答案 0 :(得分:2)

您正在发送XML请求,因此 根据XML标准对其进行编码。这包括使用&实体替换值&,除非您使用CDATA内容。

解码它是客户端的责任,除非他使用完全准系统或自编的XML解析器,它们应该由他们使用的解析器处理。

那就是说,我想知道你是如何调用SOAP请求的?通常,当您使用WSDL文件创建Web服务适配器时,您只需填写相应的类属性并发送请求,而无需考虑编码。

答案 1 :(得分:0)

请参阅http://msdn.microsoft.com/en-us/library/aa226544(v=sql.80).aspx

  

在URL执行的查询中,   特殊字符指定为   %xx,其中xx是十六进制值   这个角色。下表   列出这些特殊字符和   描述了它们的含义。更多   信息,请参阅RFC1738   规格在   http://www.faqs.org/rfcs/rfc1738.html

特殊字符&在网址中由%26表示。


哎呀,我发现你想在XML中对&进行编码,所以像SirViver一样使用&