2013-05-08 1 views
0

Nous avons une application avec de nombreux portlets pour Liferay 6.0.6 en utilisant JSF1.2 avec RichFaces 3.3.3.Final et PortletBridge 2.1.1 et tout fonctionnait correctement. Nous avons décidé de mettre à niveau notre matériel vers JSF2 avec RichFaces 4.2.3.Final et PortletBridge 3.1.2. Tout semblait aller bien jusqu'à ce que nous essayions d'utiliser des boutons de commande ajax (a4j: commandButton ou h: commandButton avec f: ajax) pour la navigation: dans ce cas le portlet fait la navigation mais tout l'écran Liferay disparaît et seul le JSF les composants restent à l'écran. Si nous essayons d'utiliser une navigation encore, il va bientôt échouer (après 1-3 essais) à cette exception:Problème de portlet Liferay avec Richfaces 4.2 et PortletBridge 3.1

[#|2013-05-08T14:15:33.104+0200|SEVERE|glassfish3.0.1|com.sun.grizzly.config.GrizzlyServiceListener|_ThreadID=26;_ThreadName=Thread-1;|Unblocking keep-alive exception 
java.lang.IllegalArgumentException: Request header is too large 

Il enregistre également des choses intéressantes comme ceci:

[#|2013-05-08T14:11:42.203+0200|INFO|glassfish3.0.1|javax.enterprise.system.std.com.sun.enterprise.v3.services.impl|_ThreadID=26;_ThreadName=Thread-1;|Unable to find component with clientId 'pb_richtest_WAR_richtest_INSTANCE_HlC1__j_id1:j_id2', no need to remove it.|#] 

MISE À JOUR: Après quelques recherches, nous nous sommes rendu compte que c'était une mauvaise pratique d'utiliser ajax pour la navigation (même si cela fonctionnait avec JSF1.2 et RichFaces 3.3), donc nous avons changé nos templates pour éviter cela partout. Et aussi changé de JBoss PorletBridge au propre Faces Bridge de Liferay et il semble bien fonctionner. Toutes les exceptions ci-dessus ont disparu et la navigation fonctionne comme il se doit.

Répondre

0

Si vous utilisez Liferay 6.0.6, vous devez utiliser Liferay Faces 3.0.x, et non 3.1.x. Pour plus d'informations, voir l'article wiki Liferay Faces Version Scheme.

+0

Nous avons utilisé JBoss PortletBridge 3.1.2, pas Liferay Faces Bridge. Mais en attendant, nous avons réalisé que la racine de nos problèmes peut être que JBoss PortletBridge ne fonctionne pas bien avec les autres composants dans un environnement Liferay. Nous avons essayé le Liferay Faces Bridge et semble être mieux. – marczeeee