Mule ForEach Невозможно получить первое значение - PullRequest
0 голосов
/ 13 февраля 2020

У меня есть для каждого l oop в моем потоке Mule 3.

enter image description here

Коллекция для этого же является массивом переменных потока, как показано ниже:

"[
  "Alpha",
  "Bravo",
  "Charlie",
  "Delta",
  "Echo",
]"

Внутри каждого, I иметь переменную сеанса для хранения текущего значения массива. Я установил значение как # [полезная нагрузка]. Идея состоит в том, чтобы использовать каждый повторяющийся идентификатор для вызова обновления API. Проблема в том, что я получаю полную полезную нагрузку в качестве текущей переменной сеанса id (в отличие от одного значения). Любая идея, почему он не повторяется 5 раз (5 - это число идентификаторов, которые у меня есть в массиве).

enter image description here

1 Ответ

1 голос
/ 17 февраля 2020

Я не могу воспроизвести вашу ошибку. может быть, способ определения переменной массива неверен. Я не уверена. Я сделал небольшое изменение. enter image description here

    <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>
...