Извиняюсь за публикацию похожего вопроса на мой предыдущий вопрос -to-another-try/11625966#11625966">Использование скрипта Groovy в sopaUI — копирование содержимого держателя XML в другой (попытка клонировать этап тестирования запроса SOAP)
В своем предыдущем вопросе я только что понял, что упустил упоминание о своей озабоченности по поводу CDATA ... что, я думаю, могло ввести в заблуждение других, понимающих, что меня на самом деле беспокоит. моя вина!!
повторяя, что я сделал.
SoapRequest (исходный)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:idm="http://vedaxml.com/vxml2/idmatrix-v2-0.xsd">
<soapenv:Header/>
<soapenv:Body>
<idm:request>
<idm:dataset-searches>
<idm:profile-name></idm:profile-name>
</idm:dataset-searches>
<idm:individual-name>
<idm:family-name>ABC</idm:family-name>
<idm:first-given-name>DEF</idm:first-given-name>
</idm:individual-name>
<idm:date-of-birth>1985-12-12</idm:date-of-birth>
</idm:request>
</soapenv:Body>
</soapenv:Envelope>
Мой сценарий Groovy выглядит следующим образом
def grUtils = new com.eviware.soapui.support.GroovyUtils(context)
def ReqHolder2 = grUtils.getXmlHolder("Modified#Request")
ReqHolder2.removeDomNodes("//idm:request")
ReqHolder2.updateProperty()
ReqHolder2 ["//soapenv:Body"] = context.expand( '${Original#Request#//idm:request}' )
ReqHolder2.updateProperty()
Когда я выполняю приведенный выше groovy-скрипт, измененный запрос обновляется содержимым из исходного запроса, но обновленное содержимое находится в CDATA и ссылается на схему.
SoapRequest (изменено)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:idm="http://vedaxml.com/vxml2/idmatrix-v2-0.xsd">
<soapenv:Header/>
<soapenv:Body>***<![CDATA[<idm:request xmlns:idm="http://vedaxml.com/vxml2/idmatrix-v2-0.xsd">***
<idm:dataset-searches>
<idm:profile-name/>
</idm:dataset-searches>
<idm:individual-name>
<idm:family-name>ABC</idm:family-name>
<idm:first-given-name>DEF</idm:first-given-name>
</idm:individual-name>
<idm:date-of-birth>1985-12-12</idm:date-of-birth>
</idm:request>**]]>**</soapenv:Body>
</soapenv:Envelope>
Не могли бы вы предложить, как я могу избежать обновления XML в CDATA. Скорее обновите XML правильно. Пожалуйста, совет.