我正在使用 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...”。原因:无法解析有效负载的引用..
相同的代码似乎可以在正常流程中工作,并且错误消失 当我删除有效负载时。
我设法使用 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)
}
}
不要使用#[payload],请使用#[message.payload]