0

我有一个由 C# 编写的 Web 服务,假设它是http://www.mysvr.com/answer/sms.asmx。该服务有一个名为“Hello”的操作,一个名为“cnt1”的变量,我将把值传递给这个变量。

如果我使用 XML 来阅读它,例如:

XmlDocument xdoc = new XmlDocument();

xdoc.Load("http://www.mysvr.com/answer/sms.asmx/Hello?cnt1=abc");

return xdoc.ChildNodes[1].InnerXml;

我会得到字符串“Hello_ _ _everybody”。“Hello”和“everybody”之间有 5 个空格。我想保留这个空白。

但是当我使用 SOAP 来阅读它时,比如:

[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/Hello",RequestNamespace="http://tempuri.org/",ResponseNamespace="http://tempuri.org/",Use=System.Web.Services.Description.SoapBindingUse.Literal,ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
public string Hello(string cnt1)
{
     object[] results = this.Invoke("Hello", new object[] {cnt});
     return ((string)(results[0]));            
}

我会得到字符串“大家好”。“Hello”和“everybody”之间只有一个空格。

问题:我想使用 SOAP 调用 Web 服务,我想在“Hello”和“everybody”之间保留 5 个空格。

任何人都可以帮我解决这个问题吗?我是否必须重新编码 Web 服务,或向 SOAP 添加参数以启用读取 5 个空格?

非常感谢。

4

1 回答 1

1

尝试在其中包含“大家好”字符串

" <![CDATA[" " ]]>"
字符串。喜欢:

<root>
    <welcome><![CDATA[Hello     everybody]]></welcome>
</root>
于 2012-08-15T08:22:13.540 回答