[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1586) Redirect filter fails to redirect propertly when handing a redirect before seam is full initialized for a request.

Chris Rudd (JIRA) jira-events at lists.jboss.org
Fri Jun 29 14:39:57 EDT 2007


Redirect filter fails to redirect propertly when handing a redirect before seam is full initialized for a request.
------------------------------------------------------------------------------------------------------------------

                 Key: JBSEAM-1586
                 URL: http://jira.jboss.com/jira/browse/JBSEAM-1586
             Project: JBoss Seam
          Issue Type: Bug
            Reporter: Chris Rudd


When using an Ajax4jsf ajax request where the view cannot be restored, the AjaxViewHandler issues a redirect. The Seam Redirect filter intercepts this and does some seam stuffs. This fails  in Manager.beforeRedirect while doing something with the conversation.

In terms of the JSF lifecycle, this occures during the restore view phase (seam before restore_view processing has already occured). It looks like the code in Manager.beforeRedirect requires some additional conversation state setup, which seems to occur in the after restore_view process.

java.lang.IllegalArgumentException: Stack must not be null
	at org.jboss.seam.core.ConversationEntry.<init>(ConversationEntry.java:40)
	at org.jboss.seam.core.ConversationEntries.createConversationEntry(ConversationEntries.java:52)
	at org.jboss.seam.core.Manager.createConversationEntry(Manager.java:685)
	at org.jboss.seam.core.Manager.beforeRedirect(Manager.java:834)
	at org.jboss.seam.core.Manager.beforeRedirect(Manager.java:852)
	at org.jboss.seam.core.Manager.appendConversationIdFromRedirectFilter(Manager.java:1095)
	at org.jboss.seam.web.RedirectFilter$1.sendRedirect(RedirectFilter.java:66)
	at com.sun.faces.context.ExternalContextImpl.redirect(ExternalContextImpl.java:419)
	at org.ajax4jsf.framework.ajax.AjaxViewHandler.restoreView(AjaxViewHandler.java:180)
	at org.jboss.seam.jsf.SeamViewHandler.restoreView(SeamViewHandler.java:84)
	at com.sun.facelets.FaceletViewHandler.restoreView(FaceletViewHandler.java:317)
	at org.ajax4jsf.framework.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:116)
	at org.ajax4jsf.framework.ajax.AjaxViewHandler.restoreView(AjaxViewHandler.java:150)
	at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:141)
	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:70)
	at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:64)
	at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:60)
	at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:60)
	at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
	at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:81)
	at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:47)
	at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
	at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:127)
	at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:277)
	at org.jboss.seam.web.AbstractAjax4jsfFilter.doFilter(AbstractAjax4jsfFilter.java:35)
	at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:56)
	at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:127)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
	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:230)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the seam-issues mailing list