Explora Libros electrónicos
Categorías
Explora Audiolibros
Categorías
Explora Revistas
Categorías
Explora Documentos
Categorías
Regional Cauca
Existen dos tipos de servicios web, para el caso de la presente guía trabajaremos con servicios SOAP en los que se
envían solicitudes y respuestas mediante mensajes en formato XML; el objeto fundamental en los servicios web
SOAP es la WSDL, el cual es un archivo que describe el servicio.
2. Definición proyecto
Vamos a crear dos proyectos, uno de ellos PersonaWS tendrá la lógica del control, permitiendo los métodos para el
CRUD a la base de datos pero no tendrá una interfaz de usuario (por lo que en su creación no es necesario
especificar el framework); y el proyecto ClientePersona el cual contiene la interfaz web para el usuario. Entre los dos
proyectos existirá una comunicación mediante Servicios Web.
Con esto claro, creamos un nuevo Servicio Web haciendo click derecho en el proyecto y elegiendo “New/Web
Service”. En caso en que este no se encuentre en la lista, se debe elegir “Other…” y en la categoría “Web Services”
se encuentra la opción “Web Service”. En la ventana que aparece, escribimos el nombre del servicio web
(PersonaWS) y el del paquete en el que se encontrarán los servicios (webServices).
Como podemos ver, la clase que se crea tiene una “anotación” en la que se especifica que es un Servicio Web y el
nombre del mismo (en nuestro caso Persona), y se genera también un método que representa a una operación web
(llamada “hello”) que recibe un parámetro web y retorna un String. Basándonos en dicho método, vamos a añadir las
operaciones web que permitirán el CRUD:
- Buscar:
- Guardar:
- Modificar:
- Eliminar:
Una vez realizado lo anterior desplegamos nuestro proyecto haciendo click derecho sobre el mismo y eligiendo
“deploy” (El servidor de aplicaciones deberá estar en ejecución). Una vez se haya desplegado se procede a probar los
servicios web, haciendo click derecho sobre el servicio web y eligiendo la opción “Test Web Service” (validar primero
Tools/Options que la opción seleccionada sea “No Proxy), así:
A continuación se desplegará una ventana del navegador en la que podemos probar nuestros servicios:
En nuestro caso probamos la operación “buscar” que de acuerdo a los datos que tenemos en la base de datos nos
deberá salir el siguiente resultado:
La solicitud y respuesta de forma exacta se muestran en las partes SOAP Request y SOAP Response de la misma
ventana del navegador.
Como este proyecto no tendrá conexión a base de datos, debemos tener una clase que “simule” a la entidad y nos
permita controlar los atributos que queremos mostrar en la interfaz; por esto lo primero que hacemos es crear una
clase java en un nuevo paquete “modelo”, la clase se llamará PersonaVO.java (Cada atributo deberá tener su GET y
SET):
Ahora, sobre el archivo index.xhtml crearemos la interfaz web de usuario como se ha creado en guías anteriores (En
la tabla, en la columna que no tiene nombre deberá ir el enlace para eliminar los datos de la fila y en la columna
editar la opción de edición de la fila – VER GUIA 3):
Y la clase ManagedBean que permite el manejo de la lógica de la vista (PersonaMBean.java) será como se muestra a
continuación (los dos atributos deberán tener su GET y SET):
Una vez hemos creado esta clase, vamos a crear al Cliente del Servicio Web. Para esto hacemos click derecho sobre
el proyecto, y elegimos la opción “New/Other” y en la categoría “Web Services” la opción “Web Service Client” y
siguiente. Sobre la nueva ventana se nos pide especificar la ruta donde se encuentra la WSDL del servicio web que
queremos consumir (la ruta de la WSDL la podemos obtener de la ventana que se despliega al hacer TEST sobre el
servicio web en el proyecto PersonaWS, en donde nos aparece un link con el nombre “WSDL File” y después de dar
click sobre él seleccionamos la url del navegador):
Una vez se dé click sobre finalizar se deben crear las referencias al servicio web como aparece a continuación:
Ahora, vamos a seleccionar uno por uno las operaciones (que aparecen con un punto rojo) y las arrastraremos hacia
la clase PersonaMBean.java, en donde se va a generar un código que modificaremos como se muestra:
Y los métodos del CRUD quedarían así (Para esta parte se deben agregar las librerías de GSON como en el primer
proyecto):
- BUSCAR
- GUARDAR
- MODIFICAR
- ELIMINAR
Ahora, ya podemos ejecutar este nuevo proyecto y probar la funcionalidad completa de los servicios web (Creados
en un proyecto que gestiona una Base de datos y consumidos por otro proyecto que contiene la interfaz web).
¡¡¡GRACIAS!!!