在控制台中访问错误详细信息
Accessing Error Detail in Console
使用 Mule 4.1
当在流程中遇到错误时,控制台中会记录如下内容。
********************************************************************************
Message : Cannot parse input XML because it is
invalid.
Error type : XML-MODULE:INVALID_INPUT_XML
Element : LogError/processors/0/processors/0 @
systemadapter:systemadapter.xml:29 (Validate schema)
Element XML
:
(set debug level logging or '-Dmule.verbose.exceptions=true' for
everything)
********************************************************************************
我知道如何访问消息和错误类型。如何获取元素或元素 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
}
在 MuleSoft 支持团队的一些帮助下,我能够使用 #[message.message.exceptionPayload.info]
这个 returns 控制台中显示的一组对象来访问详细信息。因此,我的 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']
}
使用 Mule 4.1
当在流程中遇到错误时,控制台中会记录如下内容。
********************************************************************************
Message : Cannot parse input XML because it is invalid.
Error type : XML-MODULE:INVALID_INPUT_XML
Element : LogError/processors/0/processors/0 @ systemadapter:systemadapter.xml:29 (Validate schema)
Element XML : (set debug level logging or '-Dmule.verbose.exceptions=true' for everything) ********************************************************************************
我知道如何访问消息和错误类型。如何获取元素或元素 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
}
在 MuleSoft 支持团队的一些帮助下,我能够使用 #[message.message.exceptionPayload.info]
这个 returns 控制台中显示的一组对象来访问详细信息。因此,我的 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']
}