首页 > 解决方案 > 如何在 Mule 3 的 For-each 循环中一遍又一遍地编写 CSV?

问题描述

我试图在 Mule 3 的 For-each 循环中编写 CSV。

  1. 读取 CSV 文件
  2. 将参数传递给 API 以获取响应
  3. 如果没有响应,将写入另一个 csv 文件。为了维护参数值,我在 API 调用之前设置了记录变量并且没有匹配项,将写入 CSV。

但 CSV 文件未在 For-each 循环中生成。

 <foreach collection="#[payload.names]" doc:name="For Each">
  <foreach collection="#[payload.names]" doc:name="For Each">
  <batch:set-record-variable variableName="userName" value="#[payload.Name]" doc:name="Record Variable"/>
  <http:request config-ref="HTTP_Request_Configuration" path="/users" method="GET" doc:name="Users">
  <http:request-builder>
  <http:query-param paramName="name" value="#[payload.Name]"/>
  </http:request-builder>
  </http:request>
  <choice doc:name="Choice">
  <when expression="#[payload.results.size()>0]">
  <dw:transform-message doc:name="Transform Message" >
  <dw:input-payload mimeType="application/java"/>
  <dw:set-payload><![CDATA[%dw 1.0
%output application/csv
---
[payload]]]></dw:set-payload>
   </dw:transform-message>
  <set-payload value="#[recordVars.userName]" doc:name="Set Payload"/>
  <file:outbound-endpoint responseTimeout="10000" doc:name="File" outputPattern="users.csv" path="C://output"/>
  </otherwise>
  </choice>
  </foreach>
  </foreach>

标签: mulemule-studiomule-componentmule-elmule-esb

解决方案


推荐阅读