SOAP-UI - Как передать внутренний параметр xml
В SOAP-UI я делаю запрос к веб-сервису следующим образом:
<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>
Что я хотел бы знать, так это то, как я могу передать XML-строку в параметре 2, поскольку, если я поместил строку XML непосредственно, она предполагает, что узлы XML-строки являются параметрами запроса....
Спасибо
Ответы
Ответ 1
Кодировать необходимые XML-объекты или использовать CDATA.
<arg0>
<!--Optional:-->
<parameter1><test>like this</test></parameter1>
<!--Optional:-->
<parameter2><![CDATA[<test>or like this</test>]]></parameter2>
</arg0>
Ответ 2
ПРИМЕЧАНИЕ. Этот вариант является просто альтернативой предыдущей .NET Framework 3.5 и выше
Вы можете отправить его как raw xml
<test>or like this</test>
Если вы объявляете paramater2 как XElement тип данных
Ответ 3
Для отправки CDATA в объекте запроса используйте метод SoapObject.setInnerText("...");
.