Una vez creado nuestro servicio web, debemos tener un cliente que nos permita acceder a dichos servicios.
En el último paso del artículo anterior, en donde generamos el fichero wsdd, tambien generamos stubs, que son los códigos del cliente de nuestro servicio generados automáticamente por Axis.
Basicamente, para acceder a nuestro servicio desde nuestro cliente necesitaremos llamar a la clase locator, pasándole la url de nuestor servicio.
NotificationServiceLocator locator = new NotificationServiceLocator(); locator.setNotificationsPortEndpointAddress(http://miservicio); stub = locator.getNotificationsPort();
De esta forma tenemos un stub cliente que nos permitirá llamar a los métodos ofrecidos por nuestro servicio.
System.out.println(stub.HelloWorld());
En ocasiones, suelo crear una clase Proxy que encapsule un poco estos metodos y realice chequeos en los casos en que el servicio requiera parámetros de entrada. De esa forma, si alguien tiene que implementar llamadas al servicio utilizando el cliente, le ahorro líneas de programación y evito llamadas erróneas al servicio.
1 Response to Crear web services con Axis – Parte II
ysb
August 17th, 2009 at 3:56 pm
He empezado hace poco con Axis y hay algo que me trae de cabeza sin haber encontrado aún una solución, ¿qué pasa si el WSDL cambia, por ejemplo añadiendo una nueva propiedad a uno de los parámetros de un método del web ervice?, supongo que lo suyo y que funciona es volver a generar el WSDL y volver a generar los stubs del cliente, pero ¿qué pasa si no puedo generar esos clientes porque digamos están en otra empresa y no los puedo tocar?
Si alguien puede comentarme algo al respecto … gracias