Return-Path: X-Original-To: apmail-myfaces-users-archive@www.apache.org Delivered-To: apmail-myfaces-users-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id F064611676 for ; Wed, 9 Apr 2014 17:41:01 +0000 (UTC) Received: (qmail 91077 invoked by uid 500); 9 Apr 2014 17:41:00 -0000 Delivered-To: apmail-myfaces-users-archive@myfaces.apache.org Received: (qmail 90348 invoked by uid 500); 9 Apr 2014 17:40:59 -0000 Mailing-List: contact users-help@myfaces.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "MyFaces Discussion" Delivered-To: mailing list users@myfaces.apache.org Received: (qmail 90331 invoked by uid 99); 9 Apr 2014 17:40:57 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 09 Apr 2014 17:40:57 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of fkjaekel@gmail.com designates 209.85.223.174 as permitted sender) Received: from [209.85.223.174] (HELO mail-ie0-f174.google.com) (209.85.223.174) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 09 Apr 2014 17:40:51 +0000 Received: by mail-ie0-f174.google.com with SMTP id rp18so2681285iec.5 for ; Wed, 09 Apr 2014 10:40:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=TrPEbp/hZreWRmgjeuHd3et3DarOeatzDwG9WdtiAac=; b=n1sVsemqOEQ6K2FcSm8oaLx/NnuFg8IqZv1xTe9FtwxPfOHnGGUt0UiBY7Hmgh7Rwu rpComPRiaNjW0dGSzjYOYDyxpe2D6TheyKaAwWHWqK2b7IHJCS7DTUmifFjYsfUL8zem a/T6w/TmHx1CdhvstcYzbYsgRLg3W4Mc5zic9YaJ9/ag3x0EDI5oOLZJtsnRG4rspbSF DV1NFJiJc18eNc8FBKaWw3EkFrp3L8dXxbl2+H/25sDg3RViX+Rgg4JarFIhHR4oMPLf mD95rzM0+B1GWDbcSXIekLEPUyEV83KulBXVNaXYdJRnDKEaJO5v+O6vmEubZ5IffnOw RoQA== X-Received: by 10.50.27.2 with SMTP id p2mr11687040igg.32.1397065231429; Wed, 09 Apr 2014 10:40:31 -0700 (PDT) MIME-Version: 1.0 Received: by 10.64.22.193 with HTTP; Wed, 9 Apr 2014 10:40:11 -0700 (PDT) From: Felipe Jaekel Date: Wed, 9 Apr 2014 14:40:11 -0300 Message-ID: Subject: ViewExpiredException, but session hasn't timed out To: MyFaces Discussion Content-Type: multipart/alternative; boundary=047d7b111901d8f8b304f69f9876 X-Virus-Checked: Checked by ClamAV on apache.org --047d7b111901d8f8b304f69f9876 Content-Type: text/plain; charset=UTF-8 I'm getting view expired exceptions if the user tries to perform an action in a page that isn't fully loaded. javax.faces.application.ViewExpiredException: /page/plano/plano.jsfNo saved view state could be found for the view identifier: /page/plano/plano.jsf at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:181) Looking at RestoreViewExceutor source code we have this: if (facesContext.getResponseComplete()) { // If the view handler cannot restore the view and the response // is complete, it can be an error or some logic in restoreView. return true; } else { // If the return from ViewHandler.restoreView() is null, throw a ViewExpiredException with an // appropriate error message. throw new ViewExpiredException("No saved view state could be found for the view identifier: " + viewId, viewId); } } Page hasn't fully loaded yet, so facesContext.getResponseComplete() is returning false, but isn't there a way to avoid this? Page gets unusable after the VEE is thrown. Thanks in advance, Phillip Full stackTrace: javax.faces.application.ViewExpiredException: /page/plano/plano.jsfNo saved view state could be found for the view identifier: /page/plano/plano.jsf at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:181) at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:196) at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:143) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:98) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at com.googlecode.psiprobe.Tomcat70AgentValve.invoke(Tomcat70AgentValve.java:38) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) --047d7b111901d8f8b304f69f9876--