Comment faire pour retourner la réponse dynamique SoapUI MockService

Je suis nouveau sur SoapUI et venez de configurer une très simple MockService. Est-il possible de manipuler la réponse de sorte que, pour une demande particulière de la réponse des éléments sont construites dynamiquement?

Scénario 1:

Demande:

<record>
  <identifier>ID1</identifier>
</record>

Réponse:

<response>
  <child1>child 1</child1>
</response>

Scénario 2:

Demande:

<record>
  <identifier>ID2</identifier>
</record>

Réponse:

<response>
  <child2>child 2</child2>
</response>

C'est pour un simple test et je n'ai pas besoin de faire plus que ce qui précède. Je suis actuellement en train de faire le suivant qui donne les résultats que je veux, mais depuis que je suis complètement nouveau à cela, je suis sûr qu'il existe de meilleures alternatives:

Réponse:

<response>
  ${dynElement}
</response>

Groovy script:

def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def holder = groovyUtils.getXmlHolder(mockRequest.requestContent)
def reqRef = String.valueOf(holder.getNodeValue("//identifier"))

def child1Text = "<child1>child 1</child1>"
def child2Text = "<child2>child 2</child2>"

if (reqRef == "ID1") {
  context.setProperty("dynElement", child1Text)
} else if (reqRef == "ID2") {
  context.setProperty("dynElement", child2Text)
}
Je pense que vous n'avez pas moyen de mettre des guillemets autour de child2Text dans la dernière ligne de l'exemple. Sinon, la variable child2Text n'est jamais lu.
oui désolé, une erreur. Je vais corriger

OriginalL'auteur Ross | 2010-05-27