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