0

以下のビュー ステートのレンダリング中に 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();
}

これについて私にアドバイスしてください。事前に感謝します!

ヴィカス・ソニ

4

2 に答える 2

1

Webflow の問題を調べただけで、それがあなたの主な関心事ではなくても、バグがいつ発生し、いつ発生しないかについて部分的な説明を見つけたかもしれません。

「on-entry」式コードは、このビューステートが Webflow ロジックからアクセスされた場合にのみ実行され、更新からこのフロー状態にアクセスする場合、または以前にレンダリングされたビューに直接アクセスする場合 ( url に直接入力することによって) は実行されません。 ... = e1s5 例)

それはあなたの問題を解決しませんが、その繁殖の条件を説明できると思います.

あなたのアクションは常に (Java コードで調査するために) 未処理のエラーにつながりますが、アクションが常に実行されるとは限りません。

代わりにアクションを「on-render」セクションに移動することでそれを確認できます。その後、このビューにアクセスするたびに、何らかの方法でエラーが表示されるはずです。

いずれにせよ、それは興味のヒントだと思います。

ググ運!

于 2013-09-18T21:12:01.813 に答える