AnsweredAssumed Answered

Webscripts como Portlets (Alfresco 2.1)

Question asked by efoncubierta_1301 on Jul 16, 2008
Buenas,

He seguido el maravilloso tutorial de JeffPots, sobre como utilizar webscripts como portlets en Liferay. El problema es que mi entorno está diseñado para tener Liferay y Alfresco como dos aplicaciones totalmente independientes (en el caso del tutorial, se ejecuta Alfresco como plugin de Liferay). Cuando intento, desde Liferay, acceder a un Webscript como un Portlet, ocurre lo siguiente:

- Me lanza una excepción (ClassNotFoundException), que puedo corregir copiando alfresco-core.jar y alfresco-web-client.jar, en Liferay, de forma que pueda encontrar la clase: org.alfresco.web.script.portlet.WebScriptPortlet e intentar instanciarla.

- Ahora es donde viene el problema, al instanciar la clase me devuelve un NullPointerException en la linea 93, que mirando los sources de la versión 2.1 veo que el error se produce al no poder acceder acceder al contexto de ejecución del portal.

90        initScriptUrl = config.getInitParameter("scriptUrl");
91        PortletContext portletCtx = config.getPortletContext();
92        WebApplicationContext ctx = (WebApplicationContext)portletCtx.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
93        registry = (DeclarativeWebScriptRegistry)ctx.getBean("webscripts.registry");
94        serviceRegistry = (ServiceRegistry)ctx.getBean(ServiceRegistry.SERVICE_REGISTRY);

Aquí es donde me surgen dudas… Si la clase que se instancia (org.alfresco.web.script.portlet.WebScriptPortlet) se ejecuta desde Liferay ¿Por que no puede acceder al contexto de ejecución de la aplicación? ¿Es posible ejecutar los WebScript como Portlets con las aplicaciones ejecutandose de forma independiente?

La instalación es una instalación básica y sin alterar de Liferay 4.4.2 y Alfresco 2.1 Community.

Muchas gracias. Un saludo.

Outcomes