以下のビュー ステートのレンダリング中に Web フロー例外が発生します。このビューステートを直接開くと正常に動作しますが、別のフローから来ると webflow 例外がスローされます。
また、画面上でアクションを実行せずに画面を長時間開いていると、同じ例外がスローされることもわかりました。
私のフローファイル:
<view-state id="eftBatchRejection">
<on-entry>
<set name="conversationScope.currentState" value="'eftBatchRejection'" />
<set name="conversationScope.errorState" value="'eftBatchRejection'" />
<set name="flowScope.flowValidator" value="'true'" />
<!-- Set HELP link -->
<evaluate expression="utilities.handleHelpUrl(conversationScope.currentState)" result="flowScope.helpURL" />
<evaluate expression="paymentEntryBean.setEFTRejectionBatchLayer()" />
例外:
Attempting to handle [org.springframework.webflow.execution.ActionExecutionException: Exception thrown executing [AnnotatedAction@15aad3e targetAction = [EvaluateAction@13e5dec expression = paymentEntryBean.setEFTRejectionBatchLayer(), resultExpression = [null]], attributes = map[[empty]]] in state 'eftBatchRejection' of flow 'billing/paymentEntry' -- action execution attributes were 'map[[empty]]'] with root cause [java.lang.NullPointerException]
2013-09-13 16:48:08 ERROR WebflowExceptionHandlerBean:90 - HANDLING FLOW EXECUTION EXCEPTION: org.springframework.webflow.execution.ActionExecutionException: Exception thrown executing [AnnotatedAction@15aad3e targetAction = [EvaluateAction@13e5dec expression = paymentEntryBean.setEFTRejectionBatchLayer(), resultExpression = [null]], attributes = map[[empty]]] in state 'eftBatchRejection' of flow 'billing/paymentEntry' -- action execution attributes were 'map[[empty]]'
org.springframework.webflow.execution.ActionExecutionException: Exception thrown executing [AnnotatedAction@15aad3e targetAction = [EvaluateAction@13e5dec expression = paymentEntryBean.setEFTRejectionBatchLayer(), resultExpression = [null]], attributes = map[[empty]]] in state 'eftBatchRejection' of flow 'billing/paymentEntry' -- action execution attributes were 'map[[empty]]'
at org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:60)
at org.springframework.webflow.engine.ActionList.execute(ActionList.java:155)
Java メソッド:
public void setEFTRejectionBatchLayer() {
if (initializeObjects == null || !(initializeObjects.equalsIgnoreCase(Constants.NO_IND))) {
EftRejectionBatchDTO eftRejectionBatchDTO = (EftRejectionBatchDTO) UXTools.getBean(EFT_REJECTION_BATCH_DTO);
BatchPayment batchPayment = new BatchPayment();
MiscParty miscParty = new MiscParty();
}
これについて私にアドバイスしてください。事前に感謝します!
ヴィカス・ソニ