Как прорваться в середину потока в MULE и вернуть сообщение клиенту ..? - PullRequest
0 голосов
/ 13 января 2012

У меня есть поток в MULE, как показано ниже:

<flow name="MetaService">
    <http:inbound-endpoint address="http://localhost:8000/jcore/meta"  
transformer-refs="HttpParams" responseTransformer-refs="JavaObjectToJson">
    </http:inbound-endpoint>

    <component class = "com.java.Meta">
    <component class = "com.java.Meta2"

</flow>

Этот поток сначала входит в мой первый класс компонентов: " com.java.Meta ".И все, что я " return " из этого Java-класса становится входом для моего второго компонента класса: " com.java.Meta2 ".


Теперь я хочу сделать следующее:

Я хочу проверить что-то в " полезной нагрузке " в классе " Meta ", и если это такне существует, то я хочу вернуть Java HashMap клиенту (в форме JSON), содержащий error key.

И если он существует, то я хочу вернуть ту же самую " полезную нагрузку " во второй класс компонентов " Meta2 ".

Как я могудобиться этого .. ??

1 Ответ

1 голос
/ 13 января 2012

Оберните ваш второй компонент в выбранном маршрутизаторе, возвращая текущее сообщение, в котором его карта содержит ключ "error".

Вы можете использовать выражение Groovy:

#[groovy:payload.containsKey('error')]
...