В конце вашего потока, когда используется разделитель коллекций, ваша полезная нагрузка будет коллекцией сообщений Mule, и, как вы используете HTTP, она попытается сериализовать это как ответ HTTP, что не может.
Таким образом, вы можете либо агрегировать свою полезную нагрузку, а затем установить свою полезную нагрузку на что-либо, чтобы возвращать, или даже #[null]
.
Или вы можете поместить свой разделитель коллекции и логику после этого в отдельномпоток - завернутый в обогащение:
<enricher target="#[flowVars.someVar]">
<flow-ref name="myCollectionSplitterLogicFlow" />
</enricher>
Или вы можете просто использовать foreach
, что я бы лично посоветовал, так как разделители удалены в Mule 4.
Если у вас есть вложенные коллекции, вы можете иметь любое количество вложенных foreach
:
<foreach collection="#[payload]">
<foreach collection="#[payload.nestedCollection]">
</foreach>
</foreach>