2010-08-05 14 views
7

Tengo una respuesta simulada, que debe devolver un valor que estaba en la solicitud. Por ejemplo, esta solicitud puede venir en:Acceder al XML de la solicitud en una secuencia de comandos de respuesta simulada SOAP UI

<myReqest><myValue>123</myValue></myRequest> 

ya que tienen una mockResponse:

<myResponse><yourValue>${theValue}</yourValue></myResponse> 

Yo sé cómo configurar el valor de $ {theValue} a través de la variable de contexto, pero puedo' t averiguar cómo acceder a la solicitud y analizarla para el valor.

Cualquier ayuda sería muy apreciada.

Gracias, Jonny

+0

Se puede publicar más código? –

+0

Solo una nota que su XML no está bien formado. La etiqueta no coincide con la etiqueta de cierre. – Paddyslacker

Respuesta

0

no estoy del todo seguro del contexto, qué herramienta está utilizando?

Usamos Liquid XML Studio, que tiene un Web Services Test Client, lo que hace que los servicios web de llamada manual sean bastante sencillos, esto suena como lo que intenta hacer, pero ¿tal vez está tratando de automatizar este proceso para probar?

Por favor, brinde un poco más de información.

Simon

3

Usted puede utilizar la función de secuencias de comandos para personalizar la respuesta.

En la ventana de mockResponse, puede hacer clic en el menú de secuencia de comandos.

En aquí se puede poner algo como (usando XPath para calificar totalmente el elemento que busca):

context.theValue = 
mockRequest.getRequestXmlObject().selectPath("//Message/text()")[0]; 

Cuando se invoca el MockResponse, theValue variables deben actualizarse automáticamente.

+0

+1 para xpath. Aquí es donde la versión Pro realmente brilla, tiene una herramienta XPath integrada, lo que hace que este tipo de cosas sea muy fácil. –

+0

Esto casi funcionó para mí, pero el resultado estaba envuelto en etiquetas de fragmento xml. –

0

Si está utilizando SoapUI Pro, simplemente coloque el cursor donde desea que se inserte el valor, luego haga clic con el botón derecho y seleccione el parámetro de la solicitud a través del submenú "Obtener datos ...". Sin embargo, esta característica solo está disponible en la versión Pro. Usando la edición freeware, debes seguir la respuesta de khylo.

Robert

1

utilizando la secuencia de Despacho del MokcResponse puede ser:

<myResponse><yourValue>${#MockResponse#Request#//myValue}</yourValue></myResponse> 
Cuestiones relacionadas