Web Services - Primeros pasos con Eclipse - Generar Cliente Servicio Web
Ya hemos publicado nuestro servicio web en un servidor. Ahora queremos generar un cliente que consuma este servicio.
Para ello utilizaremos las mismas herramientas descritas en la entrada sobre la generación del servicio web, y el fichero descriptor del contrato que se generó, HolaMundo.wsdl.
Generamos el cliente Servicio Web
Normalmente el cliente y el servidor estarán en distintas máquinas. Por eso crearemos un nuevo proyecto web dinámico, holamundoWSCliente. Introducimos las librerías que necesitamos y el fichero del contrato del servicio, HolaMundo.wsdl (yo lo meteré en una carpeta "doc").
Nos situamos sobre el fichero descriptor del contrato (HolaMundo.wsdl) y seleccionamos "Botón Derecho > Web Services > Generate Client".
Se nos genera automáticamente las siguientes clases dentro del mismo paquete (es.lycka.holamundoWS.webservices.impl) que la implementación del servicio (HolaMundoImpl):
- HolaMundoImpl
- HolaMundoImplProxy
- HolaMundoImplService
- HolaMundoImplServiceLocator
- HolaMundoImplSoapBindingStub
Consumir el servicio web
Generamos una clase cliente de este servicio web que acabamos de crear. Por ejemplo en un nuevo paquete es.lycka.holamundoWS.clientes creamos una clase HolaMundoCliente. Esta clase será muy simple :
package es.lycka.holamundoWS.clientes;
import es.lycka.holamundoWS.webservices.impl.HolaMundoImpl;
import es.lycka.holamundoWS.webservices.impl.HolaMundoImplServiceLocator;
public class HolaMundoCliente {
public static void main(String[] args) {
try {
HolaMundoImplServiceLocator holaMundoWSServiceLocator = new HolaMundoImplServiceLocator ();
HolaMundoImpl holaMundoWS = holaMundoWSServiceLocator.getHolaMundoImpl();
String resultado = holaMundoWS.getSaludoLycka("Jero");
System.out.println("resultado: " +resultado);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Ejecutamos esta clase (con el servidor iniciado donde esté desplegado el servicio, y con conectividad entre las máquinas cliente y servidor) y en la consola deberíamos de ver :
resultado: Lycka te saluda, Jero.
Es tan bonito lo simple !
Ver también




























garbage5 dijo
11 de July del 2008 a las 8:19 pm
Saludos chavales, me ha agradado mucho mini tutorial.
Aca donde trabajo, utilizan como IDE el Rational Application Development, y como server el WAS de WebSphere.
Espero lanzen algunos tutoriales para implementar web services en WAS.
Manuel dijo
28 de November del 2008 a las 10:57 am
Hola, muchas gracias por el minitutorial, pero me ocurre el siguiente error:
java.lang.IncompatibleClassChangeError: Implementing class
al instanciar el Locator (te dejo el código):
*****************************************
ServicioConsultaServiceLocator servicioConsultaLocator = new ServicioConsultaServiceLocator();
servicioConsultaLocator.setServicioConsultaEndpointAddress(Constantes.WS_END_POINT);
ServicioConsulta servicioConsulta = servicioConsultaLocator.getServicioConsulta();
String xml = servicioConsulta.consultar(denominacion, actividad, municipio, provincia, usuario, password);
Web Services - Primeros pasos con Eclipse - Generar Servicio Web | Lycka Bonita dijo
2 de December del 2008 a las 9:28 am
[...] Web Services - Primeros pasos con Eclipse - Generar Cliente Servicio Web [...]
Web Services - Integrar los clientes en Spring | Lycka Bonita dijo
2 de December del 2008 a las 9:30 am
[...] sabemos cómo publicar un servicio web y cómo construir un cliente que consuma dicho servicio partiendo del fichero descriptor del [...]