Soy nuevo en SoapUI y acabo de configurar un MockService muy simple. ¿Es posible manipular la respuesta para que, para una solicitud particular, los elementos de la respuesta se acumulen dinámicamente?Cómo devolver la respuesta dinámica en SoapUI MockService
Escenario 1:
Solicitud:
<record>
<identifier>ID1</identifier>
</record>
Respuesta:
<response>
<child1>child 1</child1>
</response>
Escenario 2:
Solicitud:
<record>
<identifier>ID2</identifier>
</record>
Respuesta:
<response>
<child2>child 2</child2>
</response>
Es una prueba sencilla y no se necesita hacer nada más que el anterior. Actualmente estoy haciendo lo siguiente que produce los resultados que quiero, pero ya que estoy completamente nuevo en esto estoy seguro que hay mejores alternativas:
Respuesta:
<response>
${dynElement}
</response>
guión maravilloso:
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)
}
Creo que no fue su intención poner comillas dobles alrededor de child2Text en la última línea del ejemplo. De lo contrario, la variable child2Text nunca se lee. – 0x89
sí, lo siento, un error. Voy a corregir – Ross