使用Mule 4.1
当流程中遇到错误时,控制台中将记录以下内容。
****************************************************** **********************************
消息:无法解析输入XML,因为它是 无效。
错误类型:XML-MODULE:INVALID_INPUT_XML
元素:LogError /处理器/ 0 /处理器/ 0 @ systemadapter:systemadapter.xml:29(验证架构)
元素XML : (设置调试级别日志记录或'-Dmule.verbose.exceptions = true'为 一切) ****************************************************** ******************************
我知道如何访问消息和错误类型。如何获得Element或Element XML?我使用下面的数据编织来获取错误信息。但是,我似乎找不到任何可以告诉Element的东西。我的总体目标是找到流程中哪个组件产生了错误。
%dw 2.0
output application/json
---
{
"message" : error.exception.message,
"detailMessage" : error.exception.detailMessage,
"identifier" : error.errorType.identifier,
"namespace" : error.errorType.namespace,
"detailedDescription" : error.detailedDescription,
"causeMessage" : error.exception.cause.message,
"causeDetailMessage" : error.exception.cause.detailMessage,
"backtrace" : error.exception.cause.backtrace
}
答案 0 :(得分:0)
在MuleSoft支持团队的帮助下,我能够使用#[message.message.exceptionPayload.info]
访问详细信息。这将返回控制台中显示的一系列对象。因此,我的Dataweve需要如下所示。我仅在Mule 4.1.2和4.1.3中对此进行了验证。
%dw 2.0 output application/json
--- {
"message" : error.exception.message,
"detailMessage" : error.exception.detailMessage,
"element" : message.message.exceptionPayload.info['Element'],
"elementXML" : message.message.exceptionPayload.info['Element XML']
}