[ 
https://issues.apache.org/jira/browse/MYFACES-4742?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18057204#comment-18057204
 ] 

Werner Punz edited comment on MYFACES-4742 at 2/8/26 7:37 PM:
--------------------------------------------------------------

I will isolate my current testing project and attach it tomorrow! Thanks for 
looking into it!

 

 


was (Author: werpu):
I will isolate my current testing project and attach it tomorrow!

 

> ViewExpired Exception on simple ajax request in current master branch
> ---------------------------------------------------------------------
>
>                 Key: MYFACES-4742
>                 URL: https://issues.apache.org/jira/browse/MYFACES-4742
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 5.0.0
>            Reporter: Werner Punz
>            Priority: Blocker
>         Attachments: image-2026-02-07-20-47-59-972.png
>
>
> I have a simple example which triggers a view expired exception despite the 
> request sending correct viewstate data. The example works on all branches 
> except the current main branch!
>  
> {code:java}
> // code placeholder
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE html
>         PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
>         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
> <html xmlns="http://www.w3.org/1999/xhtml";
>       xmlns:h="jakarta.faces.html"
>       xmlns:ui="jakarta.faces.facelets"
>       xmlns:f="jakarta.faces.core">
> <ui:composition template="./resources/templates/template.xhtml">
>     <ui:define name="content">
>         <h:form id="form1">
>             <h:commandScript name="callBeanAction"
>                              action="#{commandScriptBean.doAction()}"
>                              render="form1:result"
>                              execute="@this" />
>             <h:outputText id="result" value="#{commandScriptBean.message}" />
>             <br />
>             <button type="button" onclick="callBeanAction()">
>                 Call Action via h:commandScript
>             </button>
>         </h:form>
>     </ui:define>
> </ui:composition>
> </html>
>  {code}
> {code:java}
> // code placeholder
> package extras.apache.org.jsintegration.protocol;
> import jakarta.enterprise.context.RequestScoped;
> import jakarta.inject.Named;
> import java.io.Serializable;
> @RequestScoped
> @Named
> public class CommandScriptBean implements Serializable {
>     private String message = "No action called yet.";
>     public void doAction() {
>         System.out.println("doAction triggered via h:commandScript");
>         message = "Action was called successfully!";
>     }
>     public String getMessage() {
>         return message;
>     }
> }
>  {code}
> the error message is a classical viewExpired Exception:
> SCHWERWIEGEND: jakarta.faces.application.ViewExpiredException occurred while 
> processing RESTORE_VIEW [Location=]
> jakarta.faces.application.ViewExpiredException: View "/commandscript.jsf" 
> could not be restored.
>         at 
> org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:183)
>         at 
> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:195)
>         at 
> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:137)
>         at 
> org.apache.myfaces.webapp.FacesServletImpl.service(FacesServletImpl.java:163)
>         at jakarta.faces.webapp.FacesServlet.service(FacesServlet.java:102)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:223)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158)
>         at 
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
>         at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:119)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
>         at 
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:400)
>         at 
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
>         at 
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)
>         at 
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1739)
>         at 
> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
>         at 
> org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
>         at 
> org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
>         at 
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>         at java.base/java.lang.Thread.run(Thread.java:1474)
>  
> And the request however is absolutely correct:
> !image-2026-02-07-20-47-59-972.png|width=572,height=229!



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to