Blog de la Comunidad de PHD 2014 Consultores - Bus de Servicio Empresarial.

www.phd2014consultores.com

viernes, 4 de julio de 2014

Creación de un Proxy Service en WSO2


En este taller vamos a crear un nuevo Proxy Service para agregarle secuencias básicas de entrada y salida y el escenario de seguridad UsenameToken para garantizar que los usuarios deban autenticarse para acceder al servicio.

Vamos a asumir que ya el entorno esta preparado para empezar a trabajar. Esto es, tenemos ya instalado y configurado:
- Apache 2 Web Server
- PHP 5.4
- Nusoap 0.9.5
- WSO2 ESB 4.8.1
- Un Web Service desarrollado en php y desplegado en Apache, podemos utilizar el ejemplo de WSFactorial almacenado aquí: 
WS Factorial.


1.- Iniciamos WSO2 y vamos a crear un nuevo Proxy Service seleccionando el tipo Custom Proxy.

Le damos el nombre CustomProxyTallerPHP. En la opción publishing WSDL seleccionamos Specify source URL y en WSDL URI pegamos la dirección de nuestro web service WSfactorial.php:


 

2.- Vamos a definir secuencias básicas de entrada y salida. Aquí tenemos la opción de usar los diferentes mediadores que nos ofrece WSO2. Para este taller vamos a implementar solo un log en la secuencia de entrada.

 

Este es el paso 2 de 3 en la creación de proxy service. Seleccionamos Define Inline en Define In Secuence y le damos al botón Create.

En el menú desplegable que aparece seleccionamos core y luego log.

 

En Define Endpoint seleccionamos nuevamente Define Inline y seguidamente Create.

 

Nos aparece una lista de los diferentes tipos de Endpoint que podemos usar, seleccionamos la primera: Address Endpoint.

 

En la entrada address colocamos nuevamente el url de nuestro web service taller.php.

 

Seleccionamos Save & Close y volvemos al paso 2 de 3 y damos next.

3.- Ahora vamos a definir la secuencia de salida.

En Define Out Secuence seleccionamos Define Inline y click en Create. Luego seleccionamos core y send. En Send Midiator dejamos la opción None.

 

Ya tenemos nuestro Proxy Service creado:

 

4.- Vamos a probar el servicio en dando click en Try this service

Si probamos usando el endpoint Soap 1.2 nos arroja un error

 

Si la cambiamos la versión a Soap 1.1 vemos que si funciona

 

5.- Ahora vamos a darle seguridad a nuestro Proxy Service

En la lista de servicios hacemos click en en la opción Unsecured de nuestro Proxy Service


En la opción Enable Security? elegimos Yes.


 

6.- Probemos de nuevo el servicio con el Try this service

Podemos ver que ahora aparece un encabezado “security” en el formulario de prueba.

Asegurémonos de seleccionar la versión Soap 1.1. En Username coloquemos: admin y en password: admin que son las credenciales del WSO2.

Colocamos un valor valido de búsqueda y le presionamos send.



 

Si volvemos a probar pero no le colocamos las credenciales del usuario admin o lo dejamos en blanco, debe devolver un error.

 

7.- Por último podemos habilitar SOAP Message Tracer para ver un poco más de la información que está viajando a través de HTTP.

En las opciones del menú de WSO2 vamos a la pestaña Monitor y le elegimos SOAP Tracer.

En la opción Enable SOAP Tracer? Seleccionamos Yes.

 

Nos vamos de nuevo al Try this service y volvemos a probar el servicio con el usuario válido.

Regresamos al SOAP Tracer y podemos ver lo que esta viajando por HTTP.

 

En la cónsola desde donde lanzamos el servidor de WSO2 debemos ver mensjaes del Log Mediator que definimos en la secuencia de entrada.


No hay comentarios:

Publicar un comentario