[ 
https://issues.apache.org/struts/browse/WW-2572?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Don Brown resolved WW-2572.
---------------------------

       Resolution: Fixed
    Fix Version/s: 2.1.2
         Assignee: Don Brown

Good catch, thanks for reporting this.

> StrutsNavigationHandler act as active navigation handler even for a pure jsf 
> requests targetted at myfaces Navigation Handler
> -----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: WW-2572
>                 URL: https://issues.apache.org/struts/browse/WW-2572
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Integration, Other
>    Affects Versions: 2.0.11.1
>         Environment: windows 2000 desktop, jdk1.5.0_10 and wintel86
>            Reporter: sarav
>            Assignee: Don Brown
>            Priority: Critical
>             Fix For: 2.1.2
>
>
> What is being attempted in the same web application (.war file)
> 1. set of jsf (jsp)pages processed through the struts2 and jsf (myfaces) 
> lifecycle as in the showcase example
> 2. another set of  jsf (jsp) pages processed only through the pure jsf 
> lifecycle (myfaces impl)
> configured the request pattern in the web.xml to handle pure jsf requests 
> (with pattern like *.jsfaces)
> when requesting a page like example.jsfaces the myfaces handles upto the 
> point of render phase then the flow is handed over to the 
> StrutsNavigationHandler there by resulting in a null pointer exception for 
> some reason, although the faces-config.xml has the appropriate navigation 
> rule for requests coming in from example.jsfaces
> from the log file:
> 2008-04-02 20:45:56,520 DEBUG 
> (org.apache.myfaces.application.ApplicationImpl:179) - set NavigationHandler 
> = org.apache.myfaces.application.NavigationHandlerImpl
> 2008-04-02 20:46:00,739 DEBUG 
> (org.apache.myfaces.application.ApplicationImpl:179) - set NavigationHandler 
> = org.apache.struts2.jsf.StrutsNavigationHandler
> here is the stack trace:
> SEVERE: Servlet.service() for servlet faces threw exception
> java.lang.NullPointerException
>       at 
> org.apache.struts2.jsf.StrutsNavigationHandler.handleNavigation(StrutsNavigationHandler.java:62)
>       at 
> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:84)
>       at javax.faces.component.UICommand.broadcast(UICommand.java:106)
>       at 
> javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:94)
>       at 
> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:168)
>       at 
> org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:330)
>       at 
> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:84)
>       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:137)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>       at 
> org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>       at 
> com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:39)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>       at 
> org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>       at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>       at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>       at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>       at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>       at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>       at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
>       at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
>       at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
>       at 
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
>       at java.lang.Thread.run(Thread.java:595)
> looks like the above use case can not handled when there is a requirement for 
> pure jsf lifecycle and struts2-jsf integrated processing. is there a 
> workaround /configuration where both the type of requests could be processed
> struts2-jsf-plugin-2.0.11.1.jar and myfaces-impl-1.1.2.jar are in the 
> classpath

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to