Servicios Web con JAX-WS

Creación del Servicio
Antes de desarrollar mi primer servicio web en java pensaba que éstos eran complicados de desarrollar ya que teníamos que programar absolutamente todos los archivos necesarios para la construcción del servicio, como decía esto era lo que pensaba pero en la práctica, me encontré con que en nuestro MyEclipse se pueden hacer de manera rápida y sencilla como a continuación les muestro. Lo primero es entender que existen diversas tecnologías para desarrollar servicio web como son AXIS, JAX-WS entre otros, en este post me enfocare como lo indica el titulo en JAX-WS (Java API for XML Web Services) que es una API destinada para la creación de servicios web.
Bien vamos a la práctica. En MyEclipse creamos un proyecto tipo Web Service
O bien podemos presionar el botón indicado en la barra de herramientas

Posteriormente ingresamos el nombre del proyecto y nos fijamos en la tecnología en que vamos a desarrollar nuestro servicio, para nuestro caso será JAX-WS
De aquí en adelante lo que vamos a crear es toda la lógica que contiene nuestro servicio; podemos tener conectividad a bases de datos y demás cosas que hacemos normalmente en algún programa. Como en todos los ejemplos que podemos encontrar en la Web, vamos a realizar una Calculator.
El paso siguiente y como tal el más importante constituye en crear el servicio propiamente, es decir crear un servicio que permita interactuar con nuestra calculadora; para ello nuevamente vamos a nuestro icono de creación de servicios web y al presionar obtendremos una pantalla como la siguiente
Aquí debemos de fijarnos en 2 aspectos fundamentales, el primero es verificar que la tecnología sea JAX-WS y el segundo es que vamos a crear un servicio web basado en una clase ya definida (para nuestro ejemplo será la clase Calculator)
Como lo comente anteriormente, indicamos la clase que vamos a "publicar" en nuestro servicio web, verificamos los parámetros por defecto que la aplicación nos indica como son el TargetNamespace, el ServiceName y el ServicePort, en ellos podemos indicar el nombre del servicio como lo deseemos. Otra variable es la generación del WSDL en el proyecto, particularmente prefiero no generar el WSDL sino hasta el momento de la prueba pero si ustedes lo prefieren lo pueden generar en este momento (es cuestión de gustos). Ya teniendo esta configuración el servicio se creara en nuestro proyecto.
Nota: Puede que en el proyecto no queden las librerías para JAX-WS en nuestro proyecto, si es el caso, debemos ingresar por las propiedades del proyecto y en la sección Java Build Path presionamos la pestaña Libraries y luego en Add Library después buscamos dentro de las librerías de MyEclipse las librerías JAX-WS 2.1 Runtime Libraries (Project Metro 1.1) y JAX-WS 2.1 API Libraries
En este momento deberíamos tener el proyecto de la siguiente manera
En esta imagen se resalta la clase CalculatorDelegate que se encargara de llamar a nuestra clase Calculator para realizar nuestras operaciones, también encontramos las librearías anteriormente adicionadas, el archivo de configuración del servicio web y la modificación a nuestro archivo WEB.XML donde le indicamos el tipo de servicio que contiene en términos de la tecnología y el nombre del servicio que definimos en la configuración.

Despliegue y Prueba del Servicio
Para el despliegue de nuestro servicio, le indicamos a nuestro proyecto que "corra" sobre el Tomcat interno que tiene MyEclipse, lo que origina que el contenedor web publique nuestro servicio y este quede disponible para probarlo. Para esto vamos a nuestro menú Run clic en Run As y posteriormente clic en MyEclipse Server Application. Una vez iniciado el servidor, MyEclipse levanta un navegador interno y nos muestra la pagina index de nuestra aplicación
Ahora el siguiente paso es probar nuestro servicio web para ello en el navegador digitamos la URL http://localhost:8080/TestWebServiceJAXWS/CalculatorPort?wsdl (donde CalculatorPort fue el nombre del Service Port indicado en la configuración del servicio y que podemos modificar en el archivo web.xml) y con ello obtenemos la descripción de nuestro servicio web.
Con esto ya tenemos nuestro servicio web disponible para que un sistema "consuma" nuestro servicio, como se puede ver es bastante sencillo la creación de los servicios web. En nuestro siguiente post indicare como crear un cliente para consumir este servicio y poder completar el ciclo.

Enlaces Relacionados.
Nota
  • Para verificar que nuestro servicio haga lo que realmente deba hacer podemos usar una herramienta muy útil para probar servicios web como lo es el SOAPUI

Comentarios

  1. Te felicito por tu blog. Por medio de el pude crear mi primer web service en My Eclipse. Bendiciones y saludos desde Cali ve :)

    ResponderEliminar
    Respuestas
    1. Muchas gracias y esa es la ida del blog poder contribuir un poco a todos.

      Eliminar

Publicar un comentario

Entradas populares de este blog

Algo de Humor: Leyes de Java

Biztalk 2013 Demo

MSDTC error code 0x8004D02A