在 Mule 4 中,如何进行错误处理以使用有效负载?

问题描述 投票:0回答:2

我正在使用 Mule 4 来创建流程,在错误处理上我希望它将消息转换为使用现有有效负载的内容。

我的代码是

transactionNotification: {
    "Testout": "Band", 
    "errorNotification": p("api.name"),
    "transactionCode": p("notification.errorCode"),
    "transactionStatus": p("notification.error"),
    remark: {
        messageCode: p("notification.messageCode"),
        messageText: payload
    }
}

我得到了错误

表达式“%dw 2.0 输出”出现脚本语言错误

应用程序/json

交易通知:{ “Testout”:“B...”。原因:无法解析有效负载的引用..

相同的代码似乎可以在正常流程中工作,并且错误消失 当我删除有效负载时。

mule mule-component mulesoft mule4
2个回答
0
投票

我设法使用 java 对象的“设置变量”来实现这一点。

名称:payloadString

值:#[有效负载]

MIME 类型 应用程序/java

我就可以像你一样使用它了

{
  "Testout": "Band", 
  "errorNotification": p("api.name"),
  "transactionCode": p("notification.errorCode"),
  "transactionStatus": p("notification.error"),
  remark: {
    messageCode: p("notification.messageCode"),
    messageText: (vars.payloadString as String)
  }
}

0
投票

不要使用#[payload],请使用#[message.payload]

© www.soinside.com 2019 - 2024. All rights reserved.