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 everyone」を取得します。"Hello" と "everybody" の間の空白は 1 つだけです。

問題: SOAP を使用して Web サービスを呼び出したいのですが、"Hello" と "everybody" の間に 5 つの空白を入れたいと考えています。

誰でもこの問題を解決するのを手伝ってくれますか? 5 つの空白を読み取れるようにするには、Web サービスを再コーディングするか、SOAP に引数を追加する必要がありますか?

どうもありがとう。

4

1 に答える 1

1

"Hello everyone" という文字列を含めてみてください

" <![CDATA[" " ]]>"
文字列。お気に入り:

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