Одним из решений является создание карты из списка с ключами 'param1', 'param2' и т. Д. Построитель HTTP-запросов позволяет использовать карту для генерации всех параметров запроса, используя ключи в качестве имен. Для создания карты я использовал DataWeave:
<flow name="test-array-query-paramFlow">
<http:listener config-ref="HTTP_Listener_Configuration" path="/test" doc:name="HTTP"/>
<set-variable variableName="myArray" value="#[ [ 'Americas','00MA', 'Disruption', 'SomethingElse' ] ]" doc:name="Variable"/>
<dw:transform-message doc:name="Transform Message">
<dw:set-variable variableName="params"><![CDATA[%dw 1.0
%output application/java
---
( flowVars.myArray map {
("param" ++ ($$ as :number +1)) : $
} ) reduce ((val, acc = {}) -> acc ++ val)
]]></dw:set-variable>
</dw:transform-message>
<logger message="payload #[flowVars.params]" level="INFO" doc:name="Logger"/>
<http:request config-ref="HTTP_Request_Configuration" path="/api" method="GET" doc:name="HTTP">
<http:request-builder>
<http:query-params expression="#[flowVars.params]"/>
</http:request-builder>
</http:request>
</flow>
Включение HTTP-протоколирования проводов мы можем подтвердить, что параметры генерируются, как и ожидалось:
GET /api?param1=Americas¶m2=00MA¶m3=Disruption¶m4=SomethingElse HTTP/1.1