Crear Mocks de Web Services con SOAP-UI

Generate_MockService_CurrencyConverter

Para realizar el mock a partir de un WebService que existe:

1 – Generamos el cliente de forma comun (file -> New SoapUI Project ->….).

2 – Creamos el mock (Boton derecho en el binding ( xxxxxSoap11Binding o xxxxSoap12Binding, Generate MockService ).

3 – Se generará una response por defecto.

– La dirección del endpoint va a ser: localhost:8088/mockXXXXSoap11Binding
– La dirección del WSDL va a ser: http://localhost:8088/mockXXXXXSoap11Binding?WSDL

4 – Consumimos el WS desde algun lado que querramos (por ej: con wsdl2java -uri http://….?wsdl

-= Generar respuestas =-

SoapUI te genera una response por cada metodo. Se le puede agregar a un metodo, varias respuestas, y un dispatcher se encargara de decidir a quien enviarlo la respuesta.

El dispatcher tiene 4 modos:
A ) Secuencial. Si el metodo tiene 4 responses distintas, primero responde el primero, despues el segundo, y asi… de manera circular.
B ) Random: Elige una response al azar.
C ) Script: Ejecuta un script que se encarga de la logica… se programa en groovy, todavia no lo chusmie mucho. La idea es crear completamente el response.
D ) Query_Match:
Tiene dos partes. Una es el XPath:

Ejemplo de query:
http://chopapp.com/#841uxexz

Ejemplo de XPath que te retorna el valor “Cordoba”:
http://chopapp.com/#et2q0our

En ExpectedValue ponemos con que valor queremos machearlo (“Cordoba” por ejemplo), y en DispatchTo, ponemos la respuesta que deberá enviar.

E ) XPath: Ni idea, pero en la propia pagina de SoapUI dice que es poco poderoso.
http://www.soapui.org/Service-Mocking/simulating-complex-behaviour.html

 

FUENTE: http://haydioslibre.blogspot.com/2011/07/mocking-de-web-services-con-soap-ui.html

post-author