我试图使用twitter连接器编写测试应用程序。 下一步是:
这是我的流程:
<flow name="twits">
<http:listener config-ref="HTTP_Listener_Configuration" path="/twits" doc:name="HTTP"/>
<twitter:get-retweets statusId="111111111111" config-ref="Twitter" doc:name="Twitter"/>
<foreach>
<transformer ref="ReTwitTransformer"/>
</foreach>
<json:object-to-json-transformer doc:name="Object to JSON"/>
</flow>
所以问题是在3步,我无法将转换后的数据设置为消息有效负载。我已经尝试过使用 set-payload ,但没有成功。
答案 0 :(得分:1)
Foreach scope在处理完每个元素后返回原始消息。您的转换将不会被保留。
在这种情况下,您可以尝试使用Batch Processing模块(EE),或者只是像之前尝试的那样使用Collection Splitter(CE)。
另外,我注意到你正在使用HTTP侦听器来启动它。如果您确实需要将转换后的转发集合作为HTTP响应返回,则需要添加更多内容:
如果使用批处理模块,则需要将其与Request Reply路由器配对,以便同步恢复成功记录的集合。只需为请求放置Batch Execute,为回复放置VM入站端点。然后只需在完成批处理步骤中放置VM出站端点。
如果您使用Collection Splitter,转换发生后您需要Collection Aggregator。您可能要等到聚合后才能执行object-to-json-transformer。