Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
JDK 1.5, JBoss AS 4.2.3, eXo PC 2.0.5 or eXO WCM 1.0 or eXO WCM 1.2
Description
Running two portlets in the same portal page, using JSF and the MyFaces Portlet Bridge (which is the RI for JSR-301, the JSF Portlet Bridge) yelds the error bellow for the second portlet:
19:31:39,704 ERROR [portletcontainer] exception returned by processAction() or render() methods
javax.portlet.PortletException: doBridgeDispatch failed: error from Bridge in executing the request
at javax.portlet.faces.GenericFacesPortlet.doBridgeDispatch(GenericFacesPortlet.java:504)
at javax.portlet.faces.GenericFacesPortlet.doRenderDispatchInternal(GenericFacesPortlet.java:456)
at javax.portlet.faces.GenericFacesPortlet.doView(GenericFacesPortlet.java:231)
at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:354)
at javax.portlet.faces.GenericFacesPortlet.doDispatch(GenericFacesPortlet.java:202)
at javax.portlet.GenericPortlet.render(GenericPortlet.java:259)
at org.exoplatform.services.portletcontainer.plugins.pc.aop.PortletMethodCommand.render(PortletMethod Command.java:62)
at org.exoplatform.services.portletcontainer.plugins.pc.aop.BaseCommandUnit.execute(BaseCommandUnit.java:46)
...
Caused by: javax.portlet.faces.BridgeException: java.lang.ClassCastException: org.apache.myfaces.renderkit.RenderKitFactoryImpl
at org.apache.myfaces.portlet.faces.bridge.BridgeImpl.doFacesRender(BridgeImpl.java:654)
at org.apache.myfaces.portlet.faces.bridge.BridgeImpl.doFacesRequest(BridgeImpl.java:544)
at javax.portlet.faces.GenericFacesPortlet.doBridgeDispatch(GenericFacesPortlet.java:501)
... 63 more
Caused by: java.lang.ClassCastException: org.apache.myfaces.renderkit.RenderKitFactoryImpl
at org.apache.myfaces.shared_impl.renderkit.RendererUtils.getResponseStateManager(RendererUtils.java: 1158)
at org.apache.myfaces.lifecycle.DefaultRestoreViewSupport.isPostback(DefaultRestoreViewSupport.java:127)
at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:80)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
at org.apache.myfaces.portlet.faces.bridge.BridgeImpl.doFacesRender(BridgeImpl.java:640)
... 65 more
This exception allways happen with the second portlet on the page, whichever it is. I tried with many portlets, but so you can reproduce the problem I'm attaching the wars for two very simple portlets.
I'm filling this under MyFaces Core instead of Portlet Bridge because the same applications, if deployed to use Mojarra (included in JBoss AS 4.2) and the same portelt bridge jars, work fine.