jueves, 23 de mayo de 2013

Desplegando un servicio Axis2 en el Application Server de WSO2

En esta entrada veremos como desplegar el servicio axis2 que creamos en la entrada anterior.

Para ello nos descargamos la instalación del Application Server versión 5.1.0 del siguiente sitio.

Una vez tengamos el .zip lo descompactamos, vamos a la carpeta [AS]/bin/ y ejecutamos el fichero wso2server.sh si estamos en Linux o wso2server.bat si estamos en Windows. [AS] es donde descompactamos el .zip.

Aquí pueden ver lo que tiene el .zip adentro.

Una vez que se inicie el servidor si se fijan en la consola podrán ver que muestra la URL que deben poner en el navegador para tener acceso a la herramienta. Tengan en cuenta también que por defecto  el usuario es admin y la contraseña es admin.

Por defecto la URL tiene esta estructura: https://IP:9443/carbon/ donde IP es la IP de su máquina, aunque también pueden poner el nombre.
Cuando entran a esa URL la página que se les muestra es la siguiente:

Ahí ponen usuario y contraseña y listo.
Una vez que entren buscan en el menú la opción “AAR Service”, dan clic y verán esta pantalla.
Es la que se usa para desplegar un archivo .aar así que da clic en el botón que dice “Examinar” buscan donde tienen su servicio, el primero que creamos, y lo despliegan dando clic en el botón Upload.
Deben de esperar unos segundos y refrescar la página para que vean el servicio.

El servicio en mi caso se llama “Holamundo” y eso es porque ese es el nombre que tiene en el fichero services.xml como pueden ver en la entrada anterior.
Para ver su WSDL basta con que den clic en WSDL1.1 y si quieren probar el servicio dan clic donde dice “Try it”.

Cuando le den al try it verán una página como esta.
Vean que le cambié la posición a horizontal para que se viera bien todo el XML del mensaje.

Cuando entren un nombre y un apellido y le den al botón “Send” les dará un error. Así que ya saben, no se preocupen. La causa está en que este servicio está inicialmente para desplegarse en una instalación de axis2, pero no en el Application Server y si se fijan en el endpoint verán que no apunta al puerto por el que escucha el Application Server si no por el 8080 como si fuera a desplegarse en axis2.

La solución es bastante sencilla y me permite enseñarles un poco más de la herramienta.
Debemos ir al dashboard del servicio: listamos todos los servicios, damos clic en el nombre del servicio y ya estamos en el dashboard. Luego damos clic donde dice “parameters” y veremos algo como esto:


Damos clic en “Add New” y ponemos el nombre “modifyUserWSDLPortAddress” damos OK y luego cambiamos esto “TODO: Enter value here” por esto “true”.

Le damos al botón Update y listo. Así le hemos dicho al Application Server que para este servicio modifique los puertos para que se correspondan con las herramientas.
Ahora vuelven a probar

Y ya pueden ver como tiene bien el endpoint. Esto una vez que se aprende se puede hacer en el mismo services.xml de la implementación del servicio cuando se está trabajando en el developer studio.

Cuando le dan al botón Send, la respuesta nos dice.


Y así probamos ya el primer servicio.

El segundo caso es casi lo mismo, aquí lo único que hice fue cambiarle el nombre al servicio en el WSDL que estoy usando, aunque si hubiera tenido el mismo nombre aún se lo hubiera podido cambiar en el fichero services.xml.
Lo desplegamos de la misma forma y cuando vamos a probarlo vemos lo siguiente.

Como ven ya en este caso tenía bien el puerto porque el parámetro se añadió automáticamente al services.xml cuando el servicio se creó desde un WSDL.
Le puse nombre y apellidos y la respuesta es la siguiente:

Y eso es todo.

En otra entrada veremos cómo crear un cliente para un servicio axis2 desde JAVA también usando el Developer Studio de WSO2.

0 comentarios:

Publicar un comentario