如何在mule dataweave中引用作为ResultSet迭代器的有效负载?

时间:2015-11-27 04:40:03

标签: mule dataweave anypoint-studio

Sql查询从数据库组件返回流输出作为Resultset迭代器对象。 我想在dataweave中将其转换为xml。但是不知道如何引用传入的对象, 如果它是一张地图我只需使用.operator就像payload.student

一样可以访问它

尝试使用payload.next()但它会出错。还试过以下, %var input1 payload as:iterator但仍然无法正常工作

2 个答案:

答案 0 :(得分:0)

您可以发布代码(XML)和dataweave或调试器的屏幕截图吗? 我的第一个猜测是使用标准变换器将该对象转换为数据编辑变换器之前的列表或映射。

答案 1 :(得分:0)

这里的步骤:

  • 在配置的数据库连接器之后拖放转换消息(Dataweave)组件。您将看到dataweave脚本的输入有效负载填充了db结果 List<Map>

  • 然后您可以使用dw中的地图功能访问这些字段。

dw脚本

%dw 1.0
%output application/xml
---
{
    "Results":{
        (payload map {
            "key1":$."db_field1",
            "key2":$."db_field2"
        })
    }

}