我有一个由 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 个空格?
非常感谢。