web-dev-qa-db-ja.com

SOAP-UI-xmlをパラメーター内に渡す方法

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文字列ノードがリクエストパラメータとして想定されるためです...

ありがとう

51
RedEagle

必要なXMLエンティティをエンコードするか、CDATAを使用します。

<arg0>
    <!--Optional:-->
    <parameter1>&lt;test>like this&lt;/test></parameter1>
    <!--Optional:-->
    <parameter2><![CDATA[<test>or like this</test>]]></parameter2>
 </arg0>
112
Alin Purcaru

注:これは、以前に提供された.NET framework 3.5以上の単なる代替です

生のxmlとして送信できます

<test>or like this</test>

Paramater2を XElement データ型として宣言する場合

1
bitsmonkey

リクエストオブジェクトでCDATAを送信するには、SoapObject.setInnerText("...");メソッドを使用します。

0
Randnum