在控制台中访问错误详细信息

时间:2018-07-19 15:28:01

标签: mule mule-studio dataweave mule-el

使用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

}

1 个答案:

答案 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']
}