Monday, April 22, 2013

*.xhtml(facelets) + WebLogic



Maybe somebody of you have problems in adf-application which include *.xhtml(facelets) + WebLogic. The exception is:

java.lang.NullPointerException

         at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)

         at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)

         at com.sun.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:95)

         at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:540)

         at org.apache.myfaces.trinidadinternal.facelets.TrinidadFaceletViewHandler.buildView(TrinidadFaceletViewHandler.java:71)

         at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:583)

         at org.apache.myfaces.trinidadinternal.facelets.TrinidadFaceletViewHandler.renderView(TrinidadFaceletViewHandler.java:116)

         at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:189)

         at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:193)

         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:911)

         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:367)

         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:222)

         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)

         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)

         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)

         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)

         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)

         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

         at oracle.adf.share.http.ServletADFFilter.doFilter(ServletADFFilter.java:62)

         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)

         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)

         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)

         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)

         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)

         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)

         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)

         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

         at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:179)

         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)

         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:442)

         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)

         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)

         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)

         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)

         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)

         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3730)

         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)

         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273)

         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)

         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)

         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)

         at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)




The one of decision which could help you illustrated here: https://community.jboss.org/message/794793
It is to update your jsf-facelets.jar to more upper version.
But for me it couldn’t help. I use WebLogic Server and after deploying application  to AdminServer  I have the same trouble. The decision for me was to not include all Adapters for AdminServer (or maybe you use another name) deployments for admin domain.
Example for disable one adapter:  
1)  Go to WebLogic console. 
2)   Open your domain and click to “Deployments” after that click to any Adapter. As shown on picture below:


 3)   After Click go to Targets and uncheck the AdminServer


Do this actions 1-3 with all Adapters. Uncheck the Adapters for the server on which you deploy your Web application.

Hope that it help you!