SOAPUI - добавление дочерних узлов в запрос на основе условий - PullRequest
0 голосов
/ 08 июля 2019

Я работаю над сервисом SOAP для добавления документов в дело.Некоторые из этих документов требуют метаданных, которые должны быть отправлены вместе с запросом, иначе это не удастся.Поэтому, исходя из этого условия, запрос должен обновляться динамически.Я анализирую ответ службы проверки, которая возвращает обязательный документ, а затем передаю эти параметры для добавления службы документов.Часть запроса, которую я хочу изменить, - это число записей в запросе ниже, например, если для документа должно быть два типа метаданных, тогда элемент карты должен содержать два элемента ввода и т. Д.

<listOfDocuments>
    <documentProperties>
        <map>
            <!--Zero or more repetitions:-->
            <entry>
                <key>?</key>
                <value>?</value>
            </entry>
        </map>
    </documentProperties>
<listOfDocuments>

Я попробовал следующее с помощью groovy, но постоянно получаю сообщение об ошибке, которое не могу обойти, в следующем коде я пытаюсь добавить элемент entry в первый объект документа (listOfDocuments [1])

import groovy.json.JsonSlurper

def entryNode = """<entry>
                   <key></key>
                   <value></value>
                 </entry> """
def paresedENode= new XmlSlurper().parseText(entryNode)

def holder = groovyUtils.getXmlHolder( "Add Documents#Request" )
def parentNode  = holder.getDomNode( "//listOfDocuments[1]/documentProperties/map" )
parentNode.appendNode( paresedENode )

Я получаю следующую синтаксическую ошибку, которую я не могу обойти

groovy.lang.MissingMethodException: No signature of method: org.apache.xmlbeans.impl.store.Xobj$ElementXobj.appendNode() is applicable for argument types: (groovy.util.slurpersupport.NodeChild) values: [] error at line: 43
...