Come irrompere nel mezzo del flusso in mulo e restituire il messaggio al client ..?
Domanda
Ho un flusso in mulo come sotto:
<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>
Questo flusso entra per la prima volta nella mia prima classe di componenti: "com.java.meta". E qualunque cosa io"Restituzione"Da questa classe Java diventa l'input per la mia seconda classe di componenti:"com.java.meta2".
Ora quello che voglio fare è come:
Voglio controllare qualcosa in "carico utile" in classe "Meta"E se non esiste, allora voglio restituire un Java Hashmap al cliente (sotto forma di JSON) contenente il errore chiave.
E se esiste, allora voglio restituire lo stesso "carico utile"alla seconda classe dei componenti"Meta2".
Come posso raggiungere questo obiettivo..??
Soluzione
Avvolgi il tuo secondo componente in un router Choice, restituendo il messaggio corrente Il payload della mappa contiene il tasto "Errore".
Puoi usare un'espressione groovy:
#[groovy:payload.containsKey('error')]