问题
In SOAP-UI I am making a request to a web service like this:
<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>
What I would like to know is how I can pass an XML string on parameter 2 since if I put the XML string directly it assumes the XML string nodes as request parameters....
Thanks
回答1:
Either encode the needed XML entities or use CDATA.
<arg0>
<!--Optional:-->
<parameter1><test>like this</test></parameter1>
<!--Optional:-->
<parameter2><![CDATA[<test>or like this</test>]]></parameter2>
</arg0>
回答2:
NOTE: This one is just an alternative for the previous provided .NET framework 3.5 and above
You can send it as raw xml
<test>or like this</test>
If you declare the paramater2 as XElement data type
回答3:
To send CDATA in a request object use the SoapObject.setInnerText("...");
method.
来源:https://stackoverflow.com/questions/5715404/soap-ui-how-to-pass-xml-inside-parameter