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

Sample 2 Simple Content-Based Routing (CBR) of Messages

Objective: Introduction to simple content-based routing shows how a message could be made to pass through ESB using the Dumb Client mode, where ESB acts as a gateway to accept all messages and then performs mediation and routing based on message properties or content.

<definitions xmlns="http://ws.apache.org/ns/synapse">
    <!-- filtering of messages with XPath and regex matches -->
    <filter source="get-property('To')" regex=".*/StockQuote.*">
        <send>
            <endpoint>
                <address uri="http://localhost:9000/services/SimpleStockQuoteService"/>
            </endpoint>
        </send>
        <drop/>
    </filter>
    <send/>
</definitions>
Prerequisites:
  • Start the Synapse configuration numbered 1: wso2esb-samples -sn 1.
  • Start the Axis2 server and deploy the SimpleStockQuoteService if not already deployed.
Execute the Dumb Client as:
ant stockquote -Dtrpurl=http://localhost:8280/services/StockQuote

This time you will see ESB receiving a message for which ESB was set as the ultimate receiver of the message. ESB performs a match to the path/StockQuoteand based on the To EPR of the following location:

As the request matches the XPath expression of the Filter Mediator, the Filter Mediator's child mediators execute. It sends the message to a different endpoint as specified by the endpoint definition. The Drop Mediator terminates further processing of the current message in a configuration. During response processing, the filter condition fails and thus the implicit Send Mediator forwards the response back to the client.