foreach - Mule ForEach 无法获得第一个值
问题描述
我的 Mule 3 流程中有一个 for each 循环。
相同的 Collection 是一个流变量数组,如下所示:
"[
"Alpha",
"Bravo",
"Charlie",
"Delta",
"Echo",
]"
在 for each 内部,我有一个会话变量来存储当前数组值。我已将值设置为#[payload]。这个想法是使用每个迭代的 ID 来进行 API 更新调用。问题是,我将完整的有效负载作为当前的 id 会话变量(而不是单个值)。知道为什么它不迭代 5 次(5 是我在数组中拥有的 ID 数)。
解决方案
我无法重现您的错误。可能是您的数组变量的定义方式不正确。我不知道。我做了一个小改动。
<flow name="loos_sample" doc:id="25ef89d0-dfcd-48c3-8c66-a94373a3b46c" >
<http:listener doc:name="Listener" doc:id="96eca53c-6976-4b0e-9a18-9fd6d0ee6520" config-ref="HTTP_Listener_config" path="/loop"/>
<ee:transform doc:name="Transform Message" doc:id="2ea9d7e3-ff1c-4ba4-99f2-40ae4c2d16e7" >
<ee:message >
</ee:message>
<ee:variables >
<ee:set-variable variableName="varIds" ><![CDATA[%dw 2.0
output application/java
---
{ arr:
[
"Alpha",
"Bravo",
"Charlie",
"Delta",
"Echo",
]
}]]></ee:set-variable>
</ee:variables>
</ee:transform>
<foreach doc:name="For Each" doc:id="972ee8d5-d8d6-43b6-866a-0894d1b3a450" collection="#[vars.varIds.arr]">
<logger level="INFO" doc:name="Logger" doc:id="4478c587-f01c-4e2a-9485-5aa4b1be11df" message="curernt item: #[payload]"/>
</foreach>
</flow>
推荐阅读
- c - 当 pam_unix 中的影子不可读时如何进行哈希检查?
- python - 如何将预训练的 fastText 向量转换为 gensim 模型
- schema.org - 如何将 JSON-LD 和微数据与 itemid 联系在一起?
- html - 如果 CSS 选择器不区分大小写,那么为什么不覆盖样式?
- excel - 从 Excel 文件中删除密码
- c# - 如何使用asp.net查看SQL Server中的数据是否以整数开头?
- sql - SQL Server:如果参数不为空且一个条件为假,则全选
- git - Git 分支的 TFS 贡献权限
- sendmail - SPF 记录问题
- java - 无法在外部 tomcat 中部署 springboot 应用程序