Probar Un Web Service Existente

May 23, 2019 | Author: madalfio | Category: Web Server, Hypertext Transfer Protocol, Soap, World Wide Web, Tecnología
Share Embed Donate


Short Description

soapui...

Description

Probar un Web service existente Directorios y recursos de Web services que pueden utilizarse libremente y sin subscripción de pago, por ejemplo:   

http://www.webservicex.net , servicios web listos para utilizar http://xmethods.net , otro clásico http://www.wsindex.org/Web_Services, servicios web y recursos relacionados

En este caso se utilizara el servicio Conversor de Divisas, cuyo endpoint es: http://www.webservicex.net/CurrencyConvertor.asmx?WSDL ,  para conocer las tazas cambiarias de las principales monedas del planeta. Creamos un nuevo proyecto SOAP desde el menú File | New SOAP Project:

Completar la siguiente información del proyecto:  



Project Name: CurrencyConvertor Path WSDL, dirección web o ruta de fichero donde se encuentra el descriptor del servicio web de trabajo: http://www.webservicex.net/CurrencyConvertor.asmx?WSDL (Opcional) Create Request: activamos el checkbox de „Create sample requests for all operations?„. soapUI creará un esqueleto de mensaje SOAP para invocar a los métodos del servicio web.

Si la dirección del descriptor es correcta, soapUI recuperará el WSDL del web service. Si no hay errores sintácticos ni ciertas incoherencias semánticas, creará el proyecto con la siguiente estructura:  

 

Nombre del proyecto Dos interfaces, CurrencyConvertorSoap y CurrencyConvertorSoap12. En este caso en particular el servicio web expone dos interfaces, cada una con una versión de SOAP distinta. Dentro de cada interfaz, los metodos del servicio: ConversionRate Dentro de cada método, un esqueleto de mensaje SOAP, con el nombre genérico Request 1

Haciendo soble click sobre Request 1 accedemos al mensaje de petición SOAP, el que enviaremos al servicio web. Sustituimos los caracteres ? por nuestros datos:  

FromCurrency: USD ToCurrency: INR

SOAP Request al método GetWeather 

Enviamos el mensaje al servicio pulsando en la fecha verde de la esquina izquierda. Tras unos instantes, recibimos el mensaje de respuesta SOAP que se mostrará a la derecha de la ventana anterior:

Características y funcionalidades de soapUI Vista la funcionalidad básica, que es la generación de un proyecto para vincularnos con un servicio web en este caso ya existente, otras características son: Examinar detalles y validar interfaces Se pueden ver los detalles de cada interfaz expuesta por el servicio web. Para ello, en el ejemplo anterior, pulsamos con el botón derecho sobre uno de los dos, por ejemplo CurrencyConvertorSoap12:

soapUI Interface viewer

Inicialmente obtenemos un resumen der servicio y operaciones:

soapUI overview

En la pestaña WSDL Content podemos ver el descriptor y navegar por su árbol de nodos:

 Asimismo, en la pestaña W S-I Compliance, podemos validar si el descriptor WSDL cumple con el estándar WS-I Basic Profile de interoperabilidad del Web Services Interoperability Organization (WS-I).  Iniciamos el análisis pulsando en el icono de fecha verde:

El resultado emitido por el propio WS-I se muestra en la ventana, y su informe indica que el uso de SOAP 1.2 no

Generar casos de prueba funcionales Por qué crear casos de prueba cuando se puede probar directamente WebService? Se puede enviar una solicitud para una sola operación. ¿Qué pasa con los demás? ¿Cuántas combinaciones de conversión de divisas que puede hacer uso de esta operación? Se debería editar la solicitud de todos y cada combinación. Por ejemplo: Si desea convertir de CLP de USD en lugar de USD a INR... Hay que editar de nuevo la operación, por lo tanto se debe crear un test suite que englobe los posibles escenarios sin necesidad de tener que editar la operación. SOA promueve que todo web service sea probado exhaustivamente a nivel funcional. soapUI nos permite generar pruebas unitarias. La funcionalidad está disponible pulsando botón derecho sobre la interfaz a probar, y escogiendo la opción Generate TestSuite:

Pruebas unitarias con soapUI

El test suite creado es mostrado en el panel de navegación, detallado a continuación.

Se puede evidenciar que no hay casos de prueba creados, por ende todas las opciones están deshabilitadas.

Creación de Caso de Prueba

Paso 1: En un test suite, se pueden crear múltiples test, botón derecho clic en “test suite” seleccionar 'New Test Case'.

Paso 2: Especificar el nombre del caso de prueba.

Paso 3: El caso de prueba creado tiene cero (0) pasos detalle a continuación:

Se pueden insertar una variedad de pasos mediante la realización de un clic derecho sobre las distintas opciones, como se muestra a continuación.

Test Step

 Ahora se añade un test step para validad el SOAP request importado. Paso 1: Seleccionar add Step 'SOAP Test Request'.

Paso 2: Escribir el nombre del paso, luego aceptar.

Paso 3:  Al hacer clic en "Aceptar”, aparece un diálogo para seleccionar la operación a invocar. Todas las operaciones se enumeran, y el usuario puede seleccionar la operación que les gustaría invocar. Hay dos operaciones que se enumeran. Tanto las operaciones son las mismas, excepto la versión de SOAP utilizada. CurrencyConvertorSoap - utiliza SOAP versión 1.1 CurrencyConvertorSoap12 - utiliza SOAP versión 1.2

Paso 4: Podemos añadir siguientes checkpoints mientras que la creación de casos de prueba. Vamos a crear un caso de prueba con la opción por defecto.

  

Verifica si el response es SOAP, al momento de ejecutar el test. Verifica si el response esquema es valido. Verifica si el SOAP respone contiene no es un SOAP Fault.

Paso 5: Al crear el caso de prueba , la solicitud XML se muestra a continuación . La estructura del XML

Paso 6: El test step count está ahora incrementado a uno.

Enviar Manualmente el Request y Recibiendo el Response. Paso 1: Convertiremos de USD a INR.  

FromCurrency – USD ToCurrency – INR

Siguiente, 1.

Se colocaran los siguientes inputs en el lugar de los signos de interrogación los cuales serán enviados como un request XML. 2. Después de introducir los valores en las correspondientes etiquetas XML, presionar el botón (submit request) para chequear la respuesta.

Tras procesar el request la solicitud de servicio web es procesada por el servidor web y devuelve una respuesta como se muestra a continuación.  Al leer la respuesta, podem os concluir que 1 unidad de USD = 63.525 unidades de INR.

Soap Response y Log Panel Los mensajes SOAP son transportados vía HTTP. Seleccionar la pestaña RAW, donde se mostrara como el SOAP request y response fueron transportados por HTTP. 1. 2.

El Request es publicado en el servidor web, se utiliza el método POST de HTTP. El SOAP Request es transportado en el body del Http message.

Paso 2: Después de procesar el request, el Http response code (200) es mostrado, especificando significa que fue exitosa la operación. El webserver ha procesado exitosamente.

Leyenda de códigos de respuesta del Servidor Web

Http Code 1xx:

Description Informational - Esto significa que el request fue recibido y continua el proceso.

2xx: 3xx:

Success - La acción se ha recibido correctamente, entendida y aceptado. Redirection - Esto significa que más hay que tomar medidas con el fin de completar la solicitud. Client Error - Esto significa que la solicitud contiene sintaxis incorrecta o no se puede cumplir. Server Error - El servidor no pudo cumplir con una solicitud aparentemente válida.

4xx: 5xx: Log Panel

Tiene la información completa acerca de la transacción entre el cliente y el servidor . Los usuarios podrán ver las pestañas del panel de registro como se muestra a continuación.

SoapUI Log : Muestra el response del webserver. La misma información es almacenada en el archivo soapui.log de la carpeta de SOAP-UI en el directorio “bin”.

Http Log : Muestra la transferencia de paquetes, toda la información en “RAW” es mostrada en el HTTP log.

Error Log : Muestra todos los errores encontrados durante toda la sesión de proyecto. La misma información está disponible en la actualidad ' soapUI - errors.log ' en el directorio ' bin' de la ubicación de instalación de SOAP UI

Cabe señalar que tales entornos deben instalarse por separado y configurar soapUI para integrarse con ellos y acceder a sus comandos de generación.

Generar documentación del servicio La documentación de un servicio, además de la incluida en el WSDL, es una labor promovida por el área de Gobierno SOA. Asimismo, para los desarrolladores puede ser de gran utilidad. La generación automática de documentación en HTML es una opción disponible pulsando con el botón derecho sobre una interfaz del servicio y seleccionando Generate Documentation:

Generar documentación con soapUI

El documento se generará en la carpeta seleccionada y se mostrará a continuación en un navegador:

Documentación HTML de un servicio a partir de su contrato

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF