Creación de un servicio Web
- Definición de una interface Java a partir de la cual generaremos el servicio Web.
- Generar la definición del servicio Web (WSDL) a partir del interface.
- Generar el esqueleto (Skeleton) del servicio Web del WSDL.
- Implementar la lógica de negocio del servicio Web.
- Generar el archivo del Servicio Web AAR (Axis Archive)
- Desplegar el servicio Web.
Definición de una interface Java a partir de la cual generaremos el servicio Web
- package com.autentia.ws.sample1;
- /**
- * Interfaz Calculadora
- *
- * @see http://www.mobiletest.es
- */
- public interface Calculadora {
Generar la definición del servicio Web (WSDL) a partir del interface.
%AXIS_HOME%/bin/java2wsdl -of calculadora.wsdl -cn com.servicio.ws.sample1.Calculadora
- En donde el parámetro
of
es el nombre del archivo WSDL que deseamos generar - En donde el parámetro
cn
es el nombre de la clase a partir de la cual deseamos generar el WSDL.
Archivo generado: calculadora.xsdl
- <?xml version="1.0" encoding="UTF-8"?>
- <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
Generar el esqueleto (Skeleton) del servicio Web a partir del WSDL.
%AXIS_HOME%/bin/wsdl2java -p com.servicio.ws.sample1.servidor -S . -or -ss -sd -u --noMessageReceiver -uri calculadora.wsdl
- El parámetro
p
indica el nombre del paquete donde deseamos que se generen las clases. - El parámetro
S
indica el nombre de la carpeta en donde deseamos que se generen las clases (por defecto crea una carpeta src) - El parámetro
or
indica que se sobreescriban los archivos. - El parámetro
ss
indica que se generen las clases del servicio web (Por defecto NO se generan) - El parámetro
sd
indica que se genere el descriptor de despliegue del servicio web. - El parámetro
u
indica que no se generen innerclases sino que cada clase está en un archico propio. - El parámetro
noMessageReceiver
indica que no se genere un Message Receiver especifico para el servicio Web. - El parámetro
uri
indica el WSDL de partida.
(services.xml)
:- <?xml version="1.0" encoding="UTF-8"?>
- <serviceGroup>
Implementar la lógica de negocio del servicio Web.
- /**
- * Implementación del Servicio Web
- */
- package com.autentia.ws.sample1.servidor;
Generar el archivo del Servicio Web AAR (Axis Archive)
Para desplegar un servicios Web en Axis2, debemos generar un archivo AAR.Los archivos AAR, son como los archivos WAR, EAR. Es decir son archivos JAR o ZIP que contienen archivos y directorios bajo una estructura definida.
Los pasos generar el archivo
aar
son:- Creamos una carpeta de nombre
Calculadora
- Dentro de la carpeta
Calculadora
copiamos las clasescom.autentia.ws.sample1
manteniendo la estructura. - Dentro de la carpeta
Calculadora
creamos una carpeta de nombreMETA-INF
y compiamos dentro el archivoservices.xml
. - Empaquetamos la carpeta
Calculadora
en un archivoCalculadora.aar
. Para ello estando dentro del directorioCalculadora
ejecutamos la siguiente instrucción:%JAVA_HOME%/bin/jar -cvf Calculadora.aar *
Desplegar el servicio Web.
Existen varios métodos de despliegue de un Servicio Web en Axis2, los más comunes son:- A través la opción "Upload Service" de la página de administración de Axis2.
- Copiar el "AAR" al directorio
<AXIS_WEBAPP_HOME>\repository\services
. Siendo AXIS_WEBAPP_HOME el directorio donde está desplegado Axis2 en el servidor de aplicaciones o contenedor de Servlet.
No hay comentarios:
Publicar un comentario