0 Replies Latest reply on Aug 23, 2010 3:21 PM by Chris Simons

    View could not be restored on RESTful page

    Chris Simons Expert

      All,


      I'm experiencing an issue with a RESTful page that seems to causing the browser to store expired session state data.  Hence, when I access the URL I am receiving a View could not be restored message.  This can happen even between redeployments of the application.  Has anyone seen this before?  I am not using @RequestParameter; instead, I have done the following:




      <page view-id="/em/event/dm/taskers/viewTasker.xhtml">
              <action execute="#{taskerManager.viewTasker()}" if="#{empty cvTasker}"/>
              <rewrite pattern="/taskers/view/{taskerId}"/>
              <param required="false" name="taskerId" value="#{taskerManager.taskerId}" converterId="javax.faces.Long"/>
      ...rest of page information



      The first time I access /taskers/view/10, the page loads perfectly.


      The next time I attempt to load this page, it's almost as if IE 7 has cached the conversation ID, for I receive the View could not be restored message, as below:




      admin 2010-08-23 14:25:22,287 ERROR [org.jboss.seam.exception.Exceptions] handled and logged exception
      javax.servlet.ServletException: viewId:/em/event/dm/taskers/viewTasker.seam - View /em/event/dm/taskers/viewTasker.seam could not be restored.
           at javax.faces.webapp.FacesServlet.service(FacesServlet.java:270)
           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:292)
           at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
           at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
           at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
           at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
           at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
           at org.jboss.seam.web.RewriteFilter.doFilter(RewriteFilter.java:63)
           at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
           at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)
           at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
           at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)
           at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
           at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
           at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
           at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
           at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
           at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
           at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
           at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
           at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
           at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
           at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
           at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60)
           at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
           at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53)
           at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
           at com.bah.englink.interceptor.timer.TimingFilter$$M$9d75857d.doFilter(TimingFilter.java:52)
           at com.bah.englink.interceptor.timer.TimingFilter$$A$9d75857d.doFilter(<generated>)
           at com.bah.englink.interceptor.timer.TimingFilter.doFilter(TimingFilter.java)
           at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
           at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
           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.run(WebAppServletContext.java:3588)
           at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
           at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
           at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2200)
           at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2106)
           at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1428)
           at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
           at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
      Caused by: javax.faces.application.ViewExpiredException: viewId:/em/event/dm/taskers/viewTasker.seam - View /em/event/dm/taskers/viewTasker.seam could not be restored.
           at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:186)
           at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
           at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:104)
           at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
           at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
           ... 44 more