【发布时间】:2020-05-03 23:18:40
【问题描述】:
我在将 dataweave 2 代码从一台计算机复制到另一台计算机时遇到问题(Windows 10 和 Anypoint Studio 7,Mule Server 4.2.2 EE):
- 从电脑A导出jar文件
- 将相同的 jar 文件导入到计算机 B 上的 Anypoint Studio
- 在机器 B 上工作/测试代码
- 将转换器代码(dataweave 2)从计算机 B 复制到草稿 gmail
- 在计算机 A 上打开 gmail 并将代码复制到同一个转换器
- 有错误 - 有时只有一个,有时很多错误
例如:
%dw 2.0
output application/json
var addr = payload.PersonInfo.AddressList.Address
---
{
Addresses: if (addr is Object)
[addr] map ( address ) -> {
Suburb: address.City
}
else
addr map ( address ) -> {
Suburb: address.City
}
}
错误指向第一个map函数:'Invalid input "map (address) -> {\r\n\tSuburb: address.City\r\n\t ", expected Function Call (line 7 column 10):
任何帮助将不胜感激。
【问题讨论】:
-
我复制了您的代码并粘贴到了转换消息处理器中。我看到的大多数“错误”都是警告;您被警告正在执行自动投射。有时您可能会得到误报,这与 DataSense 相关——您是否尝试设置输入有效负载元数据?您是否尝试运行服务器?此外,请向我们提供示例输入数据和所需的输出,因为我相信我们可以重构您的表达式并使其变得更好。
-
您必须共享此转换的输入有效负载,以便我们可以尝试重现错误。此外,您应该粘贴完整的错误消息,而不仅仅是可能缺少一些重要细节的 sn-p。