Tuesday, April 01, 2014

oracle.adfinternal.view.faces.webapp.rich.RichWindowManagerFactory$WindowIdProviderAdapter cannot be cast to org.apache.myfaces.trinidad.event.WindowLifecycleListener

I was working on Build JDEVADF_12.1.2.0.0_GENERIC_130608.2330.6668

I create a simple ADF page and i tried to bind the action from the backing bean then i tried to deploy my code.

Every time i was getting this error.

Error 500--Internal Server Error

java.lang.ClassCastException: oracle.adfinternal.view.faces.webapp.rich.RichWindowManagerFactory$WindowIdProviderAdapter cannot be cast to org.apache.myfaces.trinidad.event.WindowLifecycleListener
at oracle.adfinternal.view.faces.webapp.rich.RichWindowManagerFactory$ApplicationWindowListeners.processWindowLifecylce(RichWindowManagerFactory.java:244)
at oracle.adfinternal.view.faces.webapp.rich.RichWindowManager._fireWindowLifecycleEvent(RichWindowManager.java:362)
at oracle.adfinternal.view.faces.webapp.rich.RichWindowManager._handleWindowOpened(RichWindowManager.java:398)
at oracle.adfinternal.view.faces.webapp.rich.RichWindowManager.beginRequest(RichWindowManager.java:924)
at org.apache.myfaces.trinidadinternal.config.GlobalConfiguratorImpl._beginWindowManagerRequest(GlobalConfiguratorImpl.java:657)
at org.apache.myfaces.trinidadinternal.config.GlobalConfiguratorImpl.beginRequest(GlobalConfiguratorImpl.java:225)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:174)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:137)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:120)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:217)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:81)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:225)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3367)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3333)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2220)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2146)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2124)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1564)
at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:295)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:254)




I don't know the reason for this error and i dont have a justification for the fix but i will just tell you what i did to fix this issue.

I went to my web.xml and commented the following code

<!--filter-mapping>
<filter-name>trinidad</filter-name>
<servlet-name>Faces Servlet</servlet-name>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping-->


After that i was able to get the required result.
And even if after that you are not able to get the result remove the filter selected.



This is not at all a fix but this has somehow worked in my case for a POC.

1 comment:

Unknown said...

Yes , This is not at all a fix , this is just bypassing the code checks, This is because of java classes used in your application have some issue, I am facing the same issues , let me post the comment on this once i fix this.

Thank you