Trabajando con los Web Services de Liferay

2
18547

Trabajando con los Web Services de Liferay

0. Índice de
contenidos.

1. Entorno

Este tutorial está escrito usando el siguiente entorno:

  • Hardware: Portátil Mac Book Pro 17″ (2,6 Ghz Intel Core
    i7, 8 GB
    DDR3)
  • Sistema Operativo: Mac OS X Snow Leopard 10.6.4
  • Liferay 6.0.5

2. Vamos al lío

Liferay publica toda su lógica de negocio a través de web
services,
podemos ver la lista de servicios web, una vez arrancado el servidor,
en la URL: http://localhost:8080/tunnel-web/axis, previamente hemos
tenido que añadir estas líneas a nuestro fichero
portal-ext.properties
con el fin de habilitar el acceso a estos servicios de una forma
controlada.

En esta página podemos ver todos los servicios que tenemos
disponibles
junto su definición wsdl para poder crear nuestros propios
clientes.

Pinchando por ejemplo en el wsdl del primer servicio podríamos
ver algo
similar a esto:

Podríamos utilizar este descriptor como base para la
creación de
clientes que consumieran este servicio. Para ello, Eclipse o Netbeans
ofrecen wizards que generan todo el código necesario para
realizar la
llamada y formatear la respuesta de estos servicios.

Aunque Liferay ya hace esto por nosotros y nos lo empaqueta en un
fichero llamado portal-client.jar que contiene las clases generadas y
preparadas para acceder a todos los servicios que se mostraron.

Para la última versión de Liferay podemos descargar este
.jar de su
propia página de descargas en la dirección http://www.liferay.com/es/downloads
con el nombre “Portal Web Services Client”, que tiene el
portal-client.jar más todas las dependencias necesarias.

Es muy importante que descarguemos la versión que coincida con
la
versión del portal que estemos utilizando, ya que de una a otra
puede
variar significativamente. Para el resto de versiones tenemos que
recurrir a la página de sourceforge http://sourceforge.net/projects/lportal/files/

3. Creación de un cliente de prueba

Ahora vamos a crear un cliente en Java que consuma uno de estos
servicios. Para ello, abrimos Eclipse y creamos un proyecto de Java
para escritorio.

Pulsando en “Next” se muestra otra pantalla donde damos un nombre a
nuestro proyecto por ejemplo prueba-cliente-ws y pulsamos en “Finish”.

Ahora vamos a añadir nuestras dependencias al proyecto. Para
ello con
botón derecho sobre la raís del proyecto seleccionamos
“Build Path”
–> “Configure Build Path” y en la pantalla que se muestra
seleccionamos la pestaña “Libraries”, pulsando en la
opción “Add
External JARs…” podemos seleccionar todos los .jar que hemos
descargado anteriormente, con lo que la pantalla queda de esta forma:

Pulsando en “Ok” ya estamos en condiciones de implementar nuestro
cliente que consuma un servicio web publicado por Liferay.

Entonces, con el botón derecho sobre la raíz del proyecto
seleccionamos
“New” — “Class” e introducimos la siguiente información:

Pulsamos en “Finish” para comenzar a implementar el cliente. Para este
ejemplo, vamos a utilizar el servicio web de recuperar un
JournalArticle con el fin de mostrar la información por consola.

Al ejecutar la clase con botón derecho sobre el fichero “Run
As…” —
“Java Application” obtenemos la siguiente salida por consola.

4. Conclusiones

Como era de esperar en un producto tan maduro como Liferay no es muy
complicado interacturar con sus servicios desde clientes externos
gracias a la utilización de web services. De esta forma
podríamos, por ejemplo, crear un cliente en .NET que
añadiera contenido web o creará usuarios desde otra
aplicación totalmente independiente a Liferay.

Saludos.

2 Comentarios

Dejar respuesta

Please enter your comment!
Please enter your name here