1

是否可以在 Catch Exception Strategy -> Transform Message 组件中访问异常?我知道我可以通过MEL #[exception.cause]访问它,但我无法在 DataWeave 中找到有关如何访问它的任何信息。

非常感谢。

4

2 回答 2

4

您可以在有效负载中设置异常(如@Ralph Rimorin 建议的那样),或者您可以将其设置为变量并在 dw 中使用 -

<catch-exception-strategy doc:name="Catch Exception Strategy">
        <logger message="#[exception.message]" level="ERROR" doc:name="Logger"></logger>
        <set-variable variableName="exception" value="#[exception]"
            doc:name="Set Exception to FlowVars"
            doc:description="This is to ensure that exception object is avaiable to Send Support Email component which uses exception from flowVars instead of the one set by mule at #[exception] as it sometimes tend to get lost."></set-variable>
        <dw:transform-message doc:name="Transform Message">
            <dw:set-payload><![CDATA[%dw 1.0
%output application/java
---
{
a:flowVars.exception
}]]></dw:set-payload>
        </dw:transform-message>


    </catch-exception-strategy>
于 2016-03-02T15:16:23.150 回答
1

@Lukas,如果您通过流引用捕获异常,那么调用流将能够使用 dataweave 评估异常。在 Catch Exception Strategy 中,尝试将异常设置为有效负载,然后在调用流中,您可以让 dataweave 处理它。

于 2016-03-02T05:45:36.730 回答