Comment puis-je modifier Mule charge utile variables?

À l'aide de Mule 3.3, j'ai une Charge utile (ce qui commence comme un JSON et je suis à la convertir en un Objet à l'aide de java.util.HashMap). Je peux accéder aux variables de l'amende juste à partir d'une requête à l'aide de JDBC:

#[message.payload.AddJob.variable1]

Comment puis-je aller sur l'ajout d'une nouvelle variable (disons variable2), ou de modifier la valeur d'une variable existante?

J'ai essayé:

<message-properties-transformer doc:name="Message Properties">
    <add-message-property key="message.payload.AddJob.variable2" value="&quot;hello&quot;"/>
</message-properties-transformer>

Qui n'a eu aucun effet.

J'ai aussi essayé un Script groovy (ci-dessous) comme suggéré ici: Comment ajouter des données à un mulet de la charge utile?, mais il remplace la totalité de la charge utile avec "bonjour", pas seulement variable2.

payload['AddJob.variable2'] = 'hello'
Qu'est-ce que AddJob? Une carte de trop?
Je ne suis pas sûr de ce que AddJob serait appelé. Les données JSON Mule est chargée de la réception avant de se transformer en un Objet ressemble à ceci: {"AddJob":{"Variable1":12345,"Variable2":67890}}
Cool, ça devrait être une carte de cartes.

OriginalL'auteur Benjamin Bryan | 2012-09-26