9 Replies Latest reply on Oct 30, 2008 9:28 PM by wesleyhales

    How to solve this ViewExpiredException problem?

    mur

      here's my web.xml


      <?xml version="1.0" encoding="UTF-8"?>
      <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
      version="2.5">

      <context-param>
      <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
      <param-value>
      org.jboss.portletbridge.application.FaceletPortletViewHandler
      </param-value>
      </context-param>

      <context-param>
      <param-name>javax.portlet.faces.renderPolicy</param-name>
      <param-value>ALWAYS_DELEGATE</param-value>
      </context-param>

      <context-param>
      <param-name>org.ajax4jsf.RESOURCE_URI_PREFIX</param-name>
      <param-value>rfRes</param-value>
      </context-param>
      <context-param>
      <param-name>org.richfaces.LoadStyleStrategy</param-name>
      <param-value>DEFAULT</param-value>
      </context-param>
      <context-param>
      <param-name>org.richfaces.LoadScriptStrategy</param-name>
      <param-value>DEFAULT</param-value>
      </context-param>
      <context-param>
      <param-name>org.ajax4jsf.COMPRESS_SCRIPT</param-name>
      <param-value>false</param-value>
      </context-param>

      <context-param>
      <param-name>
      org.jboss.portletbridge.ExceptionHandler
      </param-name>
      <param-value>
      org.jboss.portletbridge.SeamExceptionHandlerImpl
      </param-value>
      </context-param>
      <context-param>
      <param-name>javax.faces.LIFECYCLE_ID</param-name>
      <param-value>SEAM_PORTLET</param-value>
      </context-param>

      <context-param>
      <param-name>org.richfaces.SKIN</param-name>
      <param-value>DEFAULT</param-value>
      </context-param>
      <context-param>
      <param-name>facelets.DEVELOPMENT</param-name>
      <param-value>true</param-value>
      </context-param>
      <context-param>
      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
      <param-value>.xhtml</param-value>
      </context-param>
      <context-param>
      <param-name>org.ajax4jsf.SKIN</param-name>
      <param-value>classic</param-value>
      </context-param>
      <filter>
      <filter-name>Seam Filter</filter-name>
      <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class>
      </filter>
      <filter>
      <display-name>Ajax4jsf Filter</display-name>
      <filter-name>ajax4jsf</filter-name>
      <filter-class>org.ajax4jsf.Filter</filter-class>
      </filter>
      <filter-mapping>
      <filter-name>Seam Filter</filter-name>
      <url-pattern>/*</url-pattern>
      </filter-mapping>
      <filter-mapping>
      <filter-name>ajax4jsf</filter-name>
      <servlet-name>Faces Servlet</servlet-name>
      <dispatcher>REQUEST</dispatcher>
      <dispatcher>FORWARD</dispatcher>
      <dispatcher>INCLUDE</dispatcher>
      </filter-mapping>
      <listener>
      <listener-class>
      org.jboss.seam.servlet.SeamListener
      </listener-class>
      </listener>
      <servlet>
      <servlet-name>Seam Resource Servlet</servlet-name>
      <servlet-class>
      org.jboss.seam.servlet.SeamResourceServlet
      </servlet-class>
      </servlet>
      <servlet-mapping>
      <servlet-name>Seam Resource Servlet</servlet-name>
      <url-pattern>/seam/resource/*</url-pattern>
      </servlet-mapping>
      <servlet>
      <servlet-name>Faces Servlet</servlet-name>
      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
      <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
      <servlet-name>Faces Servlet</servlet-name>
      <url-pattern>/faces/*</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
      <servlet-name>Faces Servlet</servlet-name>
      <url-pattern>*.seam</url-pattern>
      </servlet-mapping>

      <session-config>
      <session-timeout>10</session-timeout>
      </session-config>
      </web-app>


      here's my faces-config.xml

      <?xml version="1.0" encoding="UTF-8"?>
      <faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:xi="http://www.w3.org/2001/XInclude"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">

      <application>
      <view-handler>
      org.jboss.portletbridge.application.PortletViewHandler
      </view-handler>
      <state-manager>
      org.jboss.portletbridge.application.PortletStateManager
      </state-manager>
      </application>
      </faces-config>


        • 1. Re: How to solve this ViewExpiredException problem?
          wesleyhales

          We are working on this for the next release (which should be out soon). It is a problem with the Richfaces statemanager.

          • 2. Re: How to solve this ViewExpiredException problem?
            mur

            Thank you very much! :)

            • 3. Re: How to solve this ViewExpiredException problem?
              eskape

              Wesley,

              Is this the same problem I described regarding rich:fileUpload component? It would be great if both components will start working in B4! :)

              • 4. Re: How to solve this ViewExpiredException problem?
                wesleyhales

                Yes, we are working towards having this fixed for B4.

                • 5. Re: How to solve this ViewExpiredException problem?
                  mur

                  I've upgraded my project to PortletBridge b4 and Richfaces 3.2.2 (Thank you for your great work!), but i still have this ViewExpiredException problem when i try to use rich:comboBox with a4j:support. Here is the exceptions:


                  ERROR [org.jboss.seam.web.ExceptionFilter] handling uncaught exception
                  javax.servlet.ServletException: viewId:Error restore view /supervisor/view.xhtml, session expired? - null
                  at javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
                  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                  at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:522)
                  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                  at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
                  at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
                  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:177)
                  at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
                  at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380)
                  at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
                  at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
                  at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                  at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
                  at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                  at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
                  at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                  at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
                  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:127)
                  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                  at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
                  at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:420)
                  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
                  at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
                  at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
                  at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
                  at java.lang.Thread.run(Thread.java:619)
                  Caused by: javax.faces.application.ViewExpiredException: viewId:Error restore view /supervisor/view.xhtml, session expired? - null
                  at org.jboss.portletbridge.lifecycle.RestoreViewPhase.executePhase(RestoreViewPhase.java:100)
                  at org.jboss.portletbridge.lifecycle.LifecyclePhase.execute(LifecyclePhase.java:72)
                  at org.jboss.portletbridge.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:62)
                  at org.jboss.portletbridge.lifecycle.PortletLifecycle.execute(PortletLifecycle.java:114)
                  at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
                  ... 42 more
                  2008-09-12 10:18:39,296 ERROR [org.jboss.seam.web.ExceptionFilter] exception root cause
                  javax.faces.application.ViewExpiredException: viewId:Error restore view /supervisor/view.xhtml, session expired? - null
                  at org.jboss.portletbridge.lifecycle.RestoreViewPhase.executePhase(RestoreViewPhase.java:100)
                  at org.jboss.portletbridge.lifecycle.LifecyclePhase.execute(LifecyclePhase.java:72)
                  at org.jboss.portletbridge.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:62)
                  at org.jboss.portletbridge.lifecycle.PortletLifecycle.execute(PortletLifecycle.java:114)
                  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.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:522)
                  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                  at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
                  at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
                  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:177)
                  at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
                  at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380)
                  at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
                  at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
                  at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                  at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
                  at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                  at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
                  at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                  at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
                  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:127)
                  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                  at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
                  at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:420)
                  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
                  at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
                  at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
                  at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
                  at java.lang.Thread.run(Thread.java:619)


                  • 6. Re: How to solve this ViewExpiredException problem?
                    mur

                    and i tried filterBy & sortBy again, still have this ViewExpiredException. :(

                    • 7. Re: How to solve this ViewExpiredException problem?
                      wesleyhales

                      I just tried this on the JSF RI archetype (converted to use RichFaces) and it works fine.

                      I uploaded my war for you to use and compare to your app.
                      https://jira.jboss.org/jira/browse/PBR-51

                      https://jira.jboss.org/jira/secure/attachment/12322206/JSFRIPortlet.war

                      • 8. Re: How to solve this ViewExpiredException problem?
                        mur

                        Thank you very much, Wesley.
                        But when i tried this war with my portlet container 2.0, and tried that /inventory/inventoryList.xhtml page using the filter and soter features, the ViewExpiredException still existes.


                        2008-09-14 10:28:08,015 WARN [javax.enterprise.resource.webcontainer.jsf.lifecycle] executePhase(RESTORE_VIEW 1,org.jboss.portletbridge.context.FacesContextImpl@1f4ff9) threw exception
                        javax.faces.application.ViewExpiredException: viewId:/inventory/inventoryList.xhtml - View /inventory/inventoryList.xhtml could not be restored.
                        at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:187)
                        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.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177)
                        at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
                        at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380)
                        at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
                        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:127)
                        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
                        at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:420)
                        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
                        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
                        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
                        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
                        at java.lang.Thread.run(Thread.java:619)
                        2008-09-14 10:28:08,015 WARN [javax.enterprise.resource.webcontainer.jsf.lifecycle] phase(RESTORE_VIEW 1,org.jboss.portletbridge.context.FacesContextImpl@1f4ff9) threw exception: java.lang.NullPointerException null
                        org.whatever.project.DemoListener.afterPhase(DemoListener.java:31)
                        com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280)
                        com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
                        javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
                        org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                        org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                        org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177)
                        org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
                        org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380)
                        org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
                        org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                        org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                        org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
                        org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                        org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                        org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
                        org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
                        org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
                        org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
                        org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
                        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                        org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
                        org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:420)
                        org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
                        org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
                        org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
                        org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
                        java.lang.Thread.run(Thread.java:619)


                        2008-09-14 10:28:08,015 ERROR [org.ajax4jsf.webapp.BaseXMLFilter] Exception in the filter chain
                        javax.servlet.ServletException: viewId:/inventory/inventoryList.xhtml - View /inventory/inventoryList.xhtml could not be restored.
                        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:249)
                        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                        at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177)
                        at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
                        at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380)
                        at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
                        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:127)
                        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
                        at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:420)
                        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
                        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
                        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
                        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
                        at java.lang.Thread.run(Thread.java:619)


                        Caused by: javax.faces.application.ViewExpiredException: viewId:/inventory/inventoryList.xhtml - View /inventory/inventoryList.xhtml could not be restored.
                        at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:187)
                        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)
                        ... 25 more
                        2008-09-14 10:28:08,015 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/JSFRIPortlet].[FacesServlet]] Servlet.service() for servlet FacesServlet threw exception
                        javax.faces.application.ViewExpiredException: viewId:/inventory/inventoryList.xhtml - View /inventory/inventoryList.xhtml could not be restored.
                        at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:187)
                        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.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177)
                        at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
                        at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380)
                        at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
                        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:127)
                        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
                        at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:420)
                        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
                        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
                        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
                        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
                        at java.lang.Thread.run(Thread.java:619)


                        • 9. Re: How to solve this ViewExpiredException problem?
                          wesleyhales

                          Try adding this to your web.xml:

                          <!--When turned on, it changes ViewHandler.restoreView() to build the view before asking the StateManager for help.-->
                           <context-param>
                           <param-name>facelets.BUILD_BEFORE_RESTORE</param-name>
                           <param-value>true</param-value>
                           </context-param>