SOAP-UI - 如何在参数内传递xml

时间:2011-04-19 11:07:57

标签: xml soapui

在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字符串节点视为请求参数....

由于

3 个答案:

答案 0 :(得分:108)

编码所需的XML实体或使用CDATA。

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

答案 1 :(得分:1)

注意:这只是以前提供的.NET framework 3.5及更高版本

的替代方案

您可以将其作为原始xml

发送
<test>or like this</test>

如果您将paramater2声明为XElement数据类型

答案 2 :(得分:0)

要在请求对象中发送CDATA,请使用#include <iostream> #include <thread> void Foo(int& i) { // if thread t is executing this function then j will sit inside thread t's stack // if we call this function from the main thread then j will sit inside the main stack int j = 456; i++; // we can see i because threads share the same address space } int main() { int i = 123; // this will sit inside the main threads' stack std::thread t(std::bind(&Foo, std::ref(i))); // we pass the address of i to our thread t.join(); std::cout << i << '\n'; return 0; } 方法。