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 回答
0

迟到的反应,但无论如何......

这可能无法回答这个问题,但我认为它可能对其他人有所帮助......

当我们遇到诸如Attempting to handle [org.springframework.....action execution attributes were 'map[[empty]]'] 之类的错误时,这意味着来自 jsp 的表单数据没有被传输。

尝试更换线路

<view-state id="eftBatchRejection">

<view-state id="eftBatchRejection" model="beanName">
于 2016-04-06T19:47:55.110 回答