¿Cómo entrar en el medio del flujo en Mule y devolver el mensaje al cliente ...?
Pregunta
Tengo un flujo en la mula como a continuación:
<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>
Este flujo entra por primera vez en mi primera clase de componentes: "com.java.meta". Y lo que sea yo"devolver"De esta clase Java se convierte en la entrada para mi segunda clase de componente:"com.java.meta2".
Ahora lo que quiero hacer es como:
Quiero verificar algo en "carga útil" en la clase "Meta"Y si no existe, entonces quiero devolver un Java hashmap al cliente (en forma de JSON) que contiene el error llave.
Y si existe, entonces quiero devolver lo mismo "carga útil"A la clase de segundo componente"Meta2".
Cómo puedo conseguir esto..??
Solución
Envuelva su segundo componente en un enrutador de elección, devolviendo el mensaje actual que su carga de mapa contiene la tecla "Error".
Puedes usar una expresión maravillosa:
#[groovy:payload.containsKey('error')]