Seam in JSF 2.2 causes java.lang.NullPointerException at com.sun.faces.application.NavigationHandlerImpl.determineViewFromActionOutcome -
i trying run application on wildfly8.2, build using jboss 5.1.i migrated entire application , able see login page. while navigating jsf pages, throwing below exception.
my old application build on jsf 1.2
2015-07-15 14:49:02,108 info [javax.enterprise.resource.webcontainer.jsf.config] (msc service thread 1-1) initializing mojarra 2.2.8-jbossorg-1 20140822-1131 context '/booking' 2015-07-15 14:49:03,303 info [org.wildfly.extension.undertow] (msc service thread 1-1) jbas017534: registered web context: /booking 2015-07-15 14:49:03,402 info [org.jboss.as.server] (serverservice thread pool -- 28) jbas018559: deployed "booking.ear" (runtime-name : "booking.ear") 2015-07-15 14:49:03,508 info [org.jboss.as] (controller boot thread) jbas015961: http management interface listening on http://127.0.0.1:10190/management 2015-07-15 14:49:03,514 info [org.jboss.as] (controller boot thread) jbas015951: admin console listening on http://127.0.0.1:10190 2015-07-15 14:49:03,519 info [org.jboss.as] (controller boot thread) jbas015874: wildfly 8.2.0.final "tweek" started in 15104ms - started 637 of 711 services (124 services lazy, passive or on-demand) 2015-07-15 14:50:12,989 info [org.jboss.seam.servlet.seamfilter] (default task-1) initializing filter: org.jboss.seam.web.redirectfilter 2015-07-15 14:50:12,993 info [org.jboss.seam.servlet.seamfilter] (default task-1) initializing filter: org.jboss.seam.web.exceptionfilter 2015-07-15 14:50:12,995 info [org.jboss.seam.servlet.seamfilter] (default task-1) initializing filter: org.jboss.seam.web.multipartfilter 2015-07-15 14:50:12,996 info [org.jboss.seam.servlet.seamfilter] (default task-1) initializing filter: org.jboss.seam.web.loggingfilter 2015-07-15 14:50:12,998 info [org.jboss.seam.servlet.seamfilter] (default task-1) initializing filter: org.jboss.seam.web.identityfilter 2015-07-15 14:50:20,699 error [org.jboss.seam.exception.exceptions] (default task-13) handled , logged exception: javax.servlet.servletexception @ javax.faces.webapp.facesservlet.service(facesservlet.java:659) [jboss-jsf-api_2.2_spec-2.2.8.jar:2.2.8] @ io.undertow.servlet.handlers.servlethandler.handlerequest(servlethandler.java:85) [undertow-servlet-1.1.0.final.jar:1.1.0.final] @ io.undertow.servlet.handlers.filterhandler$filterchainimpl.dofilter(filterhandler.java:130) [undertow-servlet-1.1.0.final.jar:1.1.0.final] @ org.jboss.seam.servlet.seamfilter$filterchainimpl.dofilter(seamfilter.java:83) [jboss-seam.jar:2.3.1.final] @ org.jboss.seam.web.identityfilter.dofilter(identityfilter.java:40) [jboss-seam.jar:2.3.1.final] @ org.jboss.seam.servlet.seamfilter$filterchainimpl.dofilter(seamfilter.java:69) [jboss-seam.jar:2.3.1.final] @ org.jboss.seam.web.loggingfilter.dofilter(loggingfilter.java:60) [jboss-seam.jar:2.3.1.final] @ org.jboss.seam.servlet.seamfilter$filterchainimpl.dofilter(seamfilter.java:69) [jboss-seam.jar:2.3.1.final] @ org.jboss.seam.web.multipartfilter.dofilter(multipartfilter.java:90) [jboss-seam.jar:2.3.1.final] @ org.jboss.seam.servlet.seamfilter$filterchainimpl.dofilter(seamfilter.java:69) [jboss-seam.jar:2.3.1.final] @ org.jboss.seam.web.exceptionfilter.dofilter(exceptionfilter.java:64) [jboss-seam.jar:2.3.1.final] @ org.jboss.seam.servlet.seamfilter$filterchainimpl.dofilter(seamfilter.java:69) [jboss-seam.jar:2.3.1.final] @ org.jboss.seam.web.redirectfilter.dofilter(redirectfilter.java:45) [jboss-seam.jar:2.3.1.final] @ org.jboss.seam.servlet.seamfilter$filterchainimpl.dofilter(seamfilter.java:69) [jboss-seam.jar:2.3.1.final] @ org.jboss.seam.servlet.seamfilter.dofilter(seamfilter.java:158) [jboss-seam.jar:2.3.1.final] @ io.undertow.servlet.core.managedfilter.dofilter(managedfilter.java:60) [undertow-servlet-1.1.0.final.jar:1.1.0.final] @ io.undertow.servlet.handlers.filterhandler$filterchainimpl.dofilter(filterhandler.java:132) [undertow-servlet-1.1.0.final.jar:1.1.0.final] @ io.undertow.servlet.handlers.filterhandler.handlerequest(filterhandler.java:85) [undertow-servlet-1.1.0.final.jar:1.1.0.final] @ io.undertow.servlet.handlers.security.servletsecurityrolehandler.handlerequest(servletsecurityrolehandler.java:61) [undertow-servlet-1.1.0.final.jar:1.1.0.final] @ io.undertow.servlet.handlers.servletdispatchinghandler.handlerequest(servletdispatchinghandler.java:36) [undertow-servlet-1.1.0.final.jar:1.1.0.final] @ org.wildfly.extension.undertow.security.securitycontextassociationhandler.handlerequest(securitycontextassociationhandler.java:78) @ io.undertow.server.handlers.predicatehandler.handlerequest(predicatehandler.java:43) [undertow-core-1.1.0.final.jar:1.1.0.final] @ io.undertow.servlet.handlers.security.sslinformationassociationhandler.handlerequest(sslinformationassociationhandler.java:131) [undertow-servlet-1.1.0.final.jar:1.1.0.final] @ io.undertow.servlet.handlers.security.servletauthenticationcallhandler.handlerequest(servletauthenticationcallhandler.java:56) [undertow-servlet-1.1.0.final.jar:1.1.0.final] @ io.undertow.server.handlers.predicatehandler.handlerequest(predicatehandler.java:43) [undertow-core-1.1.0.final.jar:1.1.0.final] @ io.undertow.security.handlers.abstractconfidentialityhandler.handlerequest(abstractconfidentialityhandler.java:45) [undertow-core-1.1.0.final.jar:1.1.0.final] @ io.undertow.servlet.handlers.security.servletconfidentialityconstrainthandler.handlerequest(servletconfidentialityconstrainthandler.java:63) [undertow-servlet-1.1.0.final.jar:1.1.0.final] @ io.undertow.security.handlers.authenticationmechanismshandler.handlerequest(authenticationmechanismshandler.java:58) [undertow-core-1.1.0.final.jar:1.1.0.final] @ io.undertow.servlet.handlers.security.cachedauthenticatedsessionhandler.handlerequest(cachedauthenticatedsessionhandler.java:70) [undertow-servlet-1.1.0.final.jar:1.1.0.final] @ io.undertow.security.handlers.securityinitialhandler.handlerequest(securityinitialhandler.java:76) [undertow-core-1.1.0.final.jar:1.1.0.final] @ io.undertow.server.handlers.predicatehandler.handlerequest(predicatehandler.java:43) [undertow-core-1.1.0.final.jar:1.1.0.final] @ org.wildfly.extension.undertow.security.jacc.jacccontextidhandler.handlerequest(jacccontextidhandler.java:61) @ io.undertow.server.handlers.predicatehandler.handlerequest(predicatehandler.java:43) [undertow-core-1.1.0.final.jar:1.1.0.final] @ io.undertow.server.handlers.predicatehandler.handlerequest(predicatehandler.java:43) [undertow-core-1.1.0.final.jar:1.1.0.final] @ io.undertow.servlet.handlers.servletinitialhandler.handlefirstrequest(servletinitialhandler.java:261) [undertow-servlet-1.1.0.final.jar:1.1.0.final] @ io.undertow.servlet.handlers.servletinitialhandler.dispatchrequest(servletinitialhandler.java:247) [undertow-servlet-1.1.0.final.jar:1.1.0.final] @ io.undertow.servlet.handlers.servletinitialhandler.access$000(servletinitialhandler.java:76) [undertow-servlet-1.1.0.final.jar:1.1.0.final] @ io.undertow.servlet.handlers.servletinitialhandler$1.handlerequest(servletinitialhandler.java:166) [undertow-servlet-1.1.0.final.jar:1.1.0.final] @ io.undertow.server.connectors.executeroothandler(connectors.java:197) [undertow-core-1.1.0.final.jar:1.1.0.final] @ io.undertow.server.httpserverexchange$1.run(httpserverexchange.java:759) [undertow-core-1.1.0.final.jar:1.1.0.final] @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1142) [rt.jar:1.8.0_11] @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:617) [rt.jar:1.8.0_11] @ java.lang.thread.run(thread.java:745) [rt.jar:1.8.0_11] caused by: java.lang.nullpointerexception @ com.sun.faces.application.navigationhandlerimpl.determineviewfromactionoutcome(navigationhandlerimpl.java:1341) [jsf-impl-2.2.8-jbossorg-1.jar:] @ com.sun.faces.application.navigationhandlerimpl.findwildcardmatch(navigationhandlerimpl.java:661) [jsf-impl-2.2.8-jbossorg-1.jar:] @ com.sun.faces.application.navigationhandlerimpl.getviewid(navigationhandlerimpl.java:483) [jsf-impl-2.2.8-jbossorg-1.jar:] @ com.sun.faces.application.navigationhandlerimpl.handlenavigation(navigationhandlerimpl.java:190) [jsf-impl-2.2.8-jbossorg-1.jar:] @ com.sun.faces.application.navigationhandlerimpl.handlenavigation(navigationhandlerimpl.java:183) [jsf-impl-2.2.8-jbossorg-1.jar:] @ org.jboss.seam.jsf.seamnavigationhandler.handlenavigation(seamnavigationhandler.java:49) [jboss-seam.jar:2.3.1.final] @ com.sun.faces.application.actionlistenerimpl.processaction(actionlistenerimpl.java:132) [jsf-impl-2.2.8-jbossorg-1.jar:] @ javax.faces.component.uicommand.broadcast(uicommand.java:315) [jboss-jsf-api_2.2_spec-2.2.8.jar:2.2.8] @ javax.faces.component.uiviewroot.broadcastevents(uiviewroot.java:790) [jboss-jsf-api_2.2_spec-2.2.8.jar:2.2.8] @ javax.faces.component.uiviewroot.processapplication(uiviewroot.java:1282) [jboss-jsf-api_2.2_spec-2.2.8.jar:2.2.8] @ com.sun.faces.lifecycle.invokeapplicationphase.execute(invokeapplicationphase.java:81) [jsf-impl-2.2.8-jbossorg-1.jar:] @ com.sun.faces.lifecycle.phase.dophase(phase.java:101) [jsf-impl-2.2.8-jbossorg-1.jar:] @ com.sun.faces.lifecycle.lifecycleimpl.execute(lifecycleimpl.java:198) [jsf-impl-2.2.8-jbossorg-1.jar:] @ javax.faces.webapp.facesservlet.service(facesservlet.java:646) [jboss-jsf-api_2.2_spec-2.2.8.jar:2.2.8] ... 42 more i suspecting issue because of jsf or rich faces jars, looking issue.
please let me know if knows solution.
this caused combination seam 2.3.x , jsf 2.2. need either migrate seam deltaspike, jsf 2.2 compatible, or downgrade mojarra 2.2.x in wildfly 2.1.x.
the technical problem is, seam used an application implementation didn't extend javax.faces.application.applicationwrapper , it had manually implement/delegate application methods wrapped application. in case of seam 2.3.x, methods based on jsf 2.1. in jsf 2.2, new method getflowhandler() added application, wasn't delegated seam , returned null, causing trouble further down in chain relying on not being null. if seam guys had extended applicationwrapper instead of hardcoding delegate methods specific jsf version, flawlessly have worked across jsf versions.
see also:
- weld in jsf 2.2 causes java.lang.nullpointerexception @ com.sun.faces.application.navigationhandlerimpl.determineviewfromactionoutcome
(exactly same problem older weld versions) - swf in jsf 2.2 causes java.lang.nullpointerexception @ com.sun.faces.application.navigationhandlerimpl.determineviewfromactionoutcome
(exactly same problem older spring webflow versions)
Comments
Post a Comment