This documentation is for WSO2 ESB version 4.0.2. View documentation for the latest release.

Enrich Mediator

The Enrich Mediator can process a message based on a given source configuration and then perform the specified action on the message by using the target configuration. It basically gets an OMElement using the configuration specified in the source and then modifies the message by putting it on the current message using the configuration in the target.



Syntax

<enrich>
    <source \[clone=true\|false\] \[type=custom\|envelope\|body\|property\|inline\] xpath="" property="" />
    <target \[action=replace\|child\|sibiling\] \[type=custom\|envelope\|body\|property\|inline\] xpath="" property="" />
</enrich>

UI Configuration

The main available Properties of the Enrich Mediator are:

Source Configuration

The following properties are available:

  • Clone - By setting the clone configuration the message can be cloned or else use as a reference during the enriching. The default value for clone is true.
    • True
    • False
  • Type - Specifies that the type that the mediator uses from the original message to enrich the modified message that pass through the mediator.
    • Custom - Custom XPath value.
    • Envelope - Envelope of the original message will be used for enriching.
    • Body - Body of the original message will be used for enriching.
    • Property - Specifies a property.
    • Inline - Specifies an inline XML value.
  • XPath Expression

    Tip

    You can click this link to add namespaces if you are providing an expression. You will be provided another panel named "Namespace Editor," where you can provide any number of namespace prefixes and URL that you have used in the XPath expression.

Target Configuration

The following properties are available:

  • Action - By specifying the action type the relevant action can be applied to outgoing message.
    • Replace - Replace the XML message based on the target type specified on the target configuration.
    • Child - Adding as a child of the specified target type.
    • Sibling - Adding as a sibling of the specified target type.

Type and XPath Expression - See "Source Configuration" above.

Note

You can configure the Mediator using XML. Click on "switch to source view" in the "Mediator" window.


Example

<enrich> xmlns="http://ws.apache.org/ns/synapse"
           <source clone="false" type="envelope" xpath="" property="" />
           <target action="replace" type="body" xpath="" property="" />
 </enrich>

In this example, we are setting the property symbol and later we are logging it using the Log Mediator.