Cliente Servicio Web con JAX-WS


Creación de las clases cliente

 
Como lo prometido es deuda, acá les dejo este post para la creación de un cliente creado con JAX-WS que consuma el servicio web previamente creado en otro artículo. Lo que requerimos para esta labor es conocer la dirección del servicio web al que le vamos a crear nuestro cliente, es decir, debemos tener la URL del WSDL del servicio web (para continuar con nuestro ejemplo del servicio web la URL seria http://localhost:8080/TestWebServiceJAXWS/CalculatorPort?wsdl). Una vez conocida esta dirección iniciamos con la creación de nuestro proyecto en MyEclipse del tipo Web Project, luego creamos nuestro paquete que va a contener las clases (cliente del Web Service) que usaran para consumir el servicio, Para la creación propiamente del cliente del servicio damos clic derecho en el proyecto, luego clic en el New, luego en en Other, luego aparece nuestro wizard, donde indicamos que vamos a crear un cliente del servicio web


Seguidamente indicamos el proyecto donde vamos a crear nuestro cliente y la tecnología que vamos a usar, para nuestro caso será JAX-WS


Luego indicamos la URL donde está el WSDl o la descripción del servicio web al que le vamos a crear el cliente, en esta pantalla también indicamos en que paquete quedaran las clases que usaremos para consumir el servicio


Luego clic en Siguiente y MyEclipse validara nuestro WSDL y se encargara de crear las clases respectivas, en este orden debemos tener nuestro proyecto de la siguiente manera


Como podemos observar, se han creado las clases para cada uno de los métodos definidos en el servicio web, también se han creado las clases de respuesta, una clase Delegado y un Servicio que son las que nos permiten interactuar con el servicio, como lo vamos a ver a continuación

Probar el Servicio Web por medio del clienteLo primero que debemos crear es una clase que contenga el método main para que lance la ejecución de nuestros métodos disponibles en el servicio web.


Como se muestra en la imagen, lo primero que debemos es crear una instancia del objeto CalculatorService y después de obtener este objeto construimos nuestro CalculatorDelegate el cual se encarga de acceder a los métodos disponible en el servicio y ejecutarlos. Una vez desarrollada esta clase, ejecutamos nuestra aplicación haciendo clic en el menú Run, Run As, Java Application, luego iniciamos la clase que contiene el main (TestClientWS) y obtenemos nuestro resultado como lo muestra la siguiente imagen


En conclusión, la creación un cliente para consumir un servicio web usando JAX-WS es bastante simple y rápida, simplemente es necesario tener la URL del WSDL (descripción del servicio) y continuar con el wizard y al momento de llamar los métodos lo hacemos a través del delegado que MyEclipse nos genera.

Comentarios

  1. Hola ,muy buen aporte. He seguido sus pasos para la generación del client webservice desde un wsdl pero resulta que NO me aparece ninguna clase Delegate. ¿Esta clase la genera también de forma automática el myeclipse o la tengo que generar yo de alguna forma?

    Muchas gracias.

    ResponderEliminar
  2. Hola Jorge, gracias por comentar. En efecto, si has realizado los pasos descritos el MyEclipse te debió crear la clase DELEGATE la cual es el punto de entrada a los diferentes métodos del servicio, te sugiero que verifiques los CheckBox de generación de esta clase, que en algunos casos pueden estar deshabilitados. Saludos y cualquier inquietud no dudes en contactarme.

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Algo de Humor: Leyes de Java

Biztalk 2013 Demo

MSDTC error code 0x8004D02A