I'm getting
Caused by: org.springframework.webflow.execution.repository.snapshot.SnapshotCreationException: Could not serialize flow execution; make sure all objects stored in flow or flash scope are serializable
at org.springframework.webflow.execution.repository.snapshot.SerializedFlowExecutionSnapshot.<init>(SerializedFlowExecutionSnapshot.java:75)
at org.springframework.webflow.execution.repository.snapshot.SerializedFlowExecutionSnapshotFactory.createSnapshot(SerializedFlowExecutionSnapshotFactory.java:70)
at org.springframework.webflow.execution.repository.snapshot.AbstractSnapshottingFlowExecutionRepository.snapshot(AbstractSnapshottingFlowExecutionRepository.java:75)
at org.springframework.webflow.execution.repository.impl.DefaultFlowExecutionRepository.putFlowExecution(DefaultFlowExecutionRepository.java:126)
at org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:171)
at org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:228)
at org.springframework.faces.webflow.JsfFlowHandlerAdapter.handle(JsfFlowHandlerAdapter.java:57)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:969)
... 46 more
Caused by: java.io.NotSerializableException: org.springframework.binding.mapping.impl.DefaultMappingResults
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
so that NotSerializableException completely eats root cause making it impossible to figure out what's happend. The not serializable DefaultMappingResults come from
"lastError" -> "org.springframework.webflow.engine.FlowInputMappingException: Errors occurred during input mapping in state 'openAgreement' of flow 'menu'; errors = [[SourceAccessError@226a8851 mapping = flowScope.securityCards.selectedRow.agreementId -> agreementId, code = 'evaluationException', error = true, errorCause = org.springframework.binding.expression.EvaluationException: An ELException occurred getting the value for expression 'flowScope.securityCards.selectedRow.agreementId' on context [class org.springframework.webflow.engine.impl.RequestControlContextImpl], originalValue = [null], mappedValue = [null]]]"
Not sure if it's related but the problem poped up after updating JSF from 2.1 to 2.2 but most likely there were no root error under 2.1
The problem somehwat resambles this one but not sure.
the openAgreement state:
<subflow-state id="openAgreement" subflow="menu">
<on-entry>
<evaluate expression="agreementService.init()" result="flowScope.agreementReadCriteria" />
</on-entry>
<input name="agreementReadCriteria" value="flowScope.agreementReadCriteria"/>
<input name="agreementId" value="flowScope.securityCards.selectedRow.agreementId"/>
<input name="currentBankId" value="flowScope.currentBankId"/>
<input name="goToAgreement" value="true"/>
<transition on="closeAgreement" to="securityCardsViewBasic">
</transition>
</subflow-state>