【问题标题】:Need inputs on how to convert below mule3 to mule4 code需要有关如何将以下 mule 3 转换为 mule 4 代码的输入
【发布时间】:2026-01-11 04:10:01
【问题描述】:

我们正在使用 MMA 将 mule3 项目迁移到 mule4;在迁移过程中,我们遇到了下面的 mule3 代码。 关于如何将其转换为 mule4 的任何输入?

#[flowVars.appendix.get(flowVars.currentCode).put(payload[0], payload[1])]

附录 =

{
  "Codes": "p184",
  "Data": "Useful",
  "Value": "1",
  "Definition": "Space Research Program"
}

当前代码 =

"p184"

有效载荷 =

[
  "999",
  "0"
]

【问题讨论】:

  • 预期输出是什么?除了所有输入之外,请始终记住指明预期输出。
  • 代码看起来没有意义。 flowVars.appendix.get(flowVars.currentCode) 似乎试图获取键的值,但参数是值,而不是键。请澄清。

标签: mule dataweave anypoint-studio mule4


【解决方案1】:

以下脚本需要放置在变量名称为appendix 的设置变量/转换消息处理器中(基本上覆盖了附录变量)

do {
    var currentCode = vars.currentCode
    var appendix_CC = vars.appendix[currentCode] default {}
    var value = {
        (payload[0]): payload[1]
    }   
    ---
   vars.appendix update {
        case ."$(currentCode)"! -> if (isEmpty(appendix_CC))  value else (appendix_CC ++ value)
    }
}

【讨论】:

    最近更新 更多