Get it on Google Play

Formación Liferay: Como acceder a los servicios del portal y los propios remotamente con Liferay

08-08-2015
 
Remote API

Remote API

Liferay nos lo pone muy fácil a la hora de interactuar con el portal desde terceras aplicaciones(Aplicaciones móviles, CRMs, etc. ). Service Builder nos aporta ya un mecanismo para publicar nuestros servicios vía SOAP y REST fácilmente.

Accediendo al servicio del portal

Como os comentaba, Liferay nos lo pone fácil a la hora de acceder a sus servicios remotamente. Simplemente nos descargamos de Sourforge las librerías Jar que las encontraremos en el fichero ‘liferay-portal-cliente-XXXX.zip‘. La URL es la siguiente http://sourceforge.net/projects/lportal/files/Liferay%20Portal/ (Descargaros la versión de vuestro portal).

El servicio debería estar publicado en ‘http://<mi_portal_url>:<puerto>/api/axis

Añadimos las dependencias y ya podemos acceder al servicio de la siguiente manera:

En el ejemplo me limito ha acceder al servicio para recuperar al usuario con dirección de correo electrónico ‘[email protected]‘ y lo muestro por pantalla. De la misma manera se puede acceder a todos los servicios del portal.

En fichero de configuración ‘portal-ext.properties‘ podemos configurar que hosts pueden acceder al servicio.

Publicar servicios creados con Service Builder

Si tenemos un servicio creado con Service Builder(Aseguraos que tenemos remote-service=”true” en el fichero service.xml) y lo queremos publicar y acceder a el tal como hemos hecho con los servicios del portal deberemos seguir los pasos:

Primero publicar los métodos públicos en el fichero ‘XXXXServiceImpl.java‘, solo los métodos de esta clase serán públicos. Por ejemplo, yo he publicado los servicios ‘getFacturaByMes‘ y ‘addFactura‘:

Una vez hecho esto ejecutamos ‘ant build-service‘ para generar las clases del servicio. Después ejecutamos ‘ant build-wsdd‘ para publicar el servicio y desplegamos el portlet. Atención! Es muy importante que tengamos el servicio correctamente publicado en ‘http://<mi_portal_url>:<puerto>/<contexto_de_mi_portlet>/api/axis‘.

Ahora ejecutamos ‘ant build-client‘ y generará el fichero ‘-client.jar‘ a partir del servicio publicado. Este fichero lo incluiremos en la aplicación cliente juntamente con las otras dependencias que nos hemos descargado antes.

Ahora nuestro servicio ya esta disponible y podemos acceder desde otras aplicaciones de la siguiente manera:

Así de fácil es publicar y acceder a servicios en Liferay. Mola! Espero que os haya gustado… Otro día lo mismo pero REST 😀

Interesado en formación Liferay?

 

Leave a Reply

© Albert Coronado Calzada