Diferencia entre revisiones de «Mock de un web service con SoapUI»

De Dos Ideas.
Saltar a: navegación, buscar
(Página creada con 'Partiendo del WSDL, se puede crear automáticamente un servicio web con una demo de invocación y respuesta para cada operación declarada en contrato del servicio (WSDL). ==Mo…')
 
Línea 1: Línea 1:
Partiendo del WSDL, se puede crear automáticamente un servicio web con una demo de invocación y respuesta para cada operación declarada en contrato del servicio (WSDL).
+
Partiendo del WSDL, se puede crear automáticamente un servicio web con una demo de invocación y respuesta para cada operación declarada en el contrato del servicio (WSDL).
  
 
==Mock Service paso a paso==
 
==Mock Service paso a paso==

Revisión del 18:51 16 nov 2009

Partiendo del WSDL, se puede crear automáticamente un servicio web con una demo de invocación y respuesta para cada operación declarada en el contrato del servicio (WSDL).

Mock Service paso a paso

1. Generar nuevo proyecto, con el WSDL inicial y activar "create requests" y "create Ws Simulation of the imported WSDL".

2. Cuando presenta la pantalla para Generar el mock Service, colocar el path y puerto y seleccionar "Adds the Mock Services endpoint to the mocked interface" si se quiere usar luego una dirección diferente a la indicada en el WSDL.

3. Dar el nombre al Mock service

4. Verificar cada respuesta para las operaciones generadas y editarlas con el contenido que se necesite par el servicio.

5. Iniciar el Mock service que quedará atendiendo en el puerto y path indicados.

6. Guardar el proyecto, esto genera un xml con la información necesaria para volver a generar el proyecto.

Un detalle importante es que con SOAP UI 2.5, si se necesita incovar desde el exterior al WSDL publicado por nuestro Mock, este queda conformado con una dirección de localhost en <SOAP:address location="localhost:port/path"/>, entonces al usarlo para invocar el servicio (por ejemplo con alguna herramienta automatizada) invocará al WS en el localhost y no la dirección del servidor.

Con la versión 3.0 esto no sucede, y es la que usamos. Necesita Java 6.

Iniciar el Mock Service

Si se quiere iniciar el servidor desde una línea de comando, se necesita el xml generado al guardar el proyecto (ej: Mi-soapui-project.xml). Ver apartado Mock Service paso a paso.

Para Windows se puede hacer un .bat de esta manera (p.e. mockservicerunner.bat):

@echo off

set SOAPUI_HOME=%~dp0

set JAVA_HOME=C:\Archivos de programa\Java\jre6 set JAVA=%JAVA_HOME%\bin\java

set CLASSPATH=%SOAPUI_HOME%soapui-3.0.1.jar;%SOAPUI_HOME%..\lib\*;

rem JVM parameters, modify as appropriate set JAVA_OPTS=-Xms128m -Xmx384m -Dsoapui.properties=soapui.properties "-Dsoapui.home=%SOAPUI_HOME%\"

if "%SOAPUI_HOME%\" == "" goto START

   set JAVA_OPTS=%JAVA_OPTS% -Dsoapui.ext.libraries="%SOAPUI_HOME%ext"
   set JAVA_OPTS=%JAVA_OPTS% -Dsoapui.ext.listeners="%SOAPUI_HOME%listeners"
   set JAVA_OPTS=%JAVA_OPTS% -Dsoapui.ext.actions="%SOAPUI_HOME%actions"
START

rem ********* run soapui testcase runner ***********

"%JAVA%" %JAVA_OPTS% -cp "%CLASSPATH%" com.eviware.soapui.tools.SoapUIMockServiceRunner %*

Para ejecutarlo se necesita la línea de comando: mockservicerunner.bat -m"Nombre-MockService" "Mi-soapui-project.xml". Con esto se puede hacer un acceso directo y ubicarlo en el Inicio, con lo que cada vez que se inicia la PC servidor, estaría disponible el servicio.