Comment briser en milieu de l'écoulement dans MULE et renvoyer le message au client ..?

StackOverflow https://stackoverflow.com/questions/8846211

  •  27-10-2019
  •  | 
  •  

Question

J'ai un flux Mule comme ci-dessous:

<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>

Ce flux pénètre d'abord dans ma première classe de composant: " com.java.Meta ". Et tout ce que je " retour " de cette classe java devient l'entrée pour ma deuxième classe de composant:. " com.java.Meta2 "


Maintenant, ce que je veux faire est comme:

Je veux vérifier quelque chose dans " charge utile " en classe " Meta " et si elle n'existe pas, alors je veux revenir un Java HashMap au client (sous forme de JSON) contenant erreur clé.

Et si elle existe, alors je veux revenir le même " charge utile " à la seconde classe de composant " META2 ".

Comment puis-je parvenir ?? ..

Était-ce utile?

La solution

Enveloppez votre deuxième composant dans un routeur de choix, renvoyant le message actuel de sa charge utile carte contient la clé « erreur ».

Vous pouvez utiliser une expression Groovy:

#[groovy:payload.containsKey('error')]
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top