是否可以在 Catch Exception Strategy -> Transform Message 组件中访问异常?我知道我可以通过MEL #[exception.cause]访问它,但我无法在 DataWeave 中找到有关如何访问它的任何信息。
非常感谢。
是否可以在 Catch Exception Strategy -> Transform Message 组件中访问异常?我知道我可以通过MEL #[exception.cause]访问它,但我无法在 DataWeave 中找到有关如何访问它的任何信息。
非常感谢。
您可以在有效负载中设置异常(如@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>
@Lukas,如果您通过流引用捕获异常,那么调用流将能够使用 dataweave 评估异常。在 Catch Exception Strategy 中,尝试将异常设置为有效负载,然后在调用流中,您可以让 dataweave 处理它。