0

我正在尝试访问error.exception.info['Element']Mule 4 错误对象。如果我使用下面的引发错误组件手动引发错误,它工作正常。`

<choice doc:name="Choice" doc:id="c149e906-9c84-45dd-9d11-3be58e9f2d03">
            <when
                expression='#[!(some expression)]'>
                <set-variable
                    value="#['Invalid Type found for the target operation']"
                    doc:name="Error Message" doc:id="ebc156a9-7aed-4cf9-ade5-d33f382fe5b7"
                    variableName="errorMessage" />
                <raise-error doc:name="Raise error"
                    doc:id="3511b08c-9e56-4d04-aee1-d5d0b8f87670" type="MY_APP:INVALID_TYPE"
                    description="#[vars.errorMessage]" />
            </when>

`

但是如果我尝试在下面的 HTTP 连接器中做同样的事情,我不会得到`

<http:request method="POST" doc:name="Call Audit Endpoint" doc:id="e2a39da6-e6e3-4c33-9e6f-41d24de4d23b" config-ref="Request_Configuration" path="${http.request.path}${http.request.path.auditlog}" target="auditLog">
            <error-mapping targetType="APP:TEST" />
        </http:request>

error.exception.info['Element']` 和上面一样。基本上我需要访问 error.exception.info['Element'] 和 error.exception.info['Element XML'] 详细信息以防出现任何错误。任何解决方法或建议都会有所帮助。谢谢!

4

1 回答 1

1

每个例外都是独一无二的。这就是为什么它被称为异常。一,你手动提出的,确实有这个属性,但 targetType="APP:TEST" 没有它。

不要期望 excption 是普通的并且具有您期望的属性。一些异常具有零属性。Debugger 或 Logger('#[error]') 可以提供帮助。但不总是。挖掘你所拥有的每一个异常,并使其不异常——抓住它并正确处理。

于 2020-04-08T02:31:48.977 回答