SOAP-UIでは、次のようなWebサービスへのリクエストを作成しています。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xxx="http://xxx.call/">
<soapenv:Header/>
<soapenv:Body>
<cotf:call_XXX>
<!--Optional:-->
<arg0>
<!--Optional:-->
<parameter1>some text</parameter1>
<!--Optional:-->
<parameter2>XML string</parameter1>
</arg0>
</cotf:call_XXX>
</soapenv:Body>
</soapenv:Envelope>
私が知りたいのは、パラメータ2にXML文字列を渡す方法です。XML文字列を直接配置すると、XML文字列ノードがリクエストパラメータとして想定されるためです...
ありがとう
必要なXMLエンティティをエンコードするか、CDATAを使用します。
<arg0>
<!--Optional:-->
<parameter1><test>like this</test></parameter1>
<!--Optional:-->
<parameter2><![CDATA[<test>or like this</test>]]></parameter2>
</arg0>
注:これは、以前に提供された.NET framework 3.5以上の単なる代替です
生のxmlとして送信できます
<test>or like this</test>
Paramater2を XElement データ型として宣言する場合
リクエストオブジェクトでCDATAを送信するには、SoapObject.setInnerText("...");
メソッドを使用します。