Nociones básicas de web services

Por fin he conseguido aprender a hacer web services en JAVA mediante AXIS, mis conocimientos son muy básicos, pero los voy a plasmar aquí por si le sirven a alguien.

No voy a explicar como montar el tomcat ni como instalar el AXIS ni el JTDS ya que creo que esa información está bastante clarita por ahí, lo que voy a intentar explicar es los pasos básicos para montar un servicio pero complementando la información que yo no he obtenido por Internet y la cual he aprendido a base de prueba y error.

En el ejemplo que os voy a mostrar se trata de un servicio de anuncios en el cual se pueden obtener através de web services los anuncios que tiene contratado un usuario.

Lo primero que hay que hacer es definir en JAVA la clase Anuncio.java, es una clase sencillita con una serie de atributos privados a los cuales se accede mediante los típicos métodos publicos de set y get.

Después de esto vamos a definir la classe Anuncios.java que es la clase a la cual referenciaremos en nuestro Web Service y la cual tendrá los métodos que dejaremos que se ejecuten a través de él.

Una vez que tenemos listos los métodos del Web Service vamos a preparar otro archivo que vamos a llamar Anuncios.wsdd el cual contiene la definición del servicio que vamos a ofrecer.

El objetivo de este Web Services es que pasandole un usuario me devuelva un XML con todos los anuncios de dicho usuario.

Existen dos tipo de XML que nos puede devolver, todo ellos encapsulados en un mensaje de tipo SOAP, que es através de el cual se comunican los Web Services.

En el campo style tenemos varios valores posibles, estos determinarán el formato del XML que ira en el cuerpo del mensaje SOAP, yo en el ejemplo he usado: style=”wrapped”, ya que a mi juicio es el más fácil de entender ya que te devuelve un XML bastante claro en el cual se ve el reflejo de la clase en JAVA que hemos definido.

El fichero Anuncios.wsdd es el fichero de deploy, el cual se usa para dar de alta el servico en AXIS, más información sobre su estructura completa aquí

El comando que hay que ejecutar para dar de alta el servicio es el siguiente:

java org.apache.axis.client.AdminClient Anuncios.wsdd

Con esto ya tendremos el servicio listo para atender las peticiones.

Podemos ver los servicios que tenemos activos en:

http://localhost:8080/axis/servlet/AxisServlet

Si tienes el servidor instalado en otra dirección y en otro puerto deberás de cambiar, el resto de la URL a de ser el mismo.

Para dar de baja un servicio hay que crear el fichero de undeploy, en nuestro caso: Anuncios_undeploy.wsdd

El comando a ejecutar es el siguiente:

java org.apache.axis.client.AdminClient Anuncios_undeploy.wsdd

Ahora solo queda crear un cliente que acceda a dicho Web Services, esto tampoco lo voy a explicar porque está bastante documentado en Internet y además se puede implementar en el lenguaje que se quiera: JAVA, PHP, .NET, PERL, …

Yo concretamente he utilizado PHP con la librería nuSoap y funciona bien.

Referencias:
http://www.osmosislatina.com/axis/basico.htm
http://www.it.uc3m.es/berto/SI/WS/

Un comentario en “Nociones básicas de web services

Los comentarios están cerrados.