A mediator is a full-powered processing unit in the ESB. In run-time, it has access to all the parts of the ESB along with the current message. Usually a mediator is configured using XML. Different mediators have their own XML configurations.
At run-time, a message is injected into the mediator with the ESB's run-time information. Then this mediator can do virtually anything with the message.
Mediators in a sequence can be one of the following types:
- Node mediators - Contains child mediators.
- Leaf mediators - Does not hold any other child mediators.
Also mediators are considered as one of the main mechanisms for extending an ESB. A user can write a mediator and put it into the ESB. This custom mediator and any other built in mediator will be exactly the same as the API and the privileges (see Writing a WSO2 ESB Mediator).
The standard mediators in WSO2 ESB are listed in the table below. Click a link for details on that mediator. There are also many samples that demonstrate how to use mediators. For details, see Samples.
The Mediator Catalog
Sends a message out
Logs a message
Sets or remove properties associated with the message
Refers a sequence
Sends event notifications to an event source, publishes messages to predefined topics
Drops a message
Enriches a message
Filters a message using XPath, if-else kind of logic
Inbuilt filter for choosing messages in ESB out path
Inbuilt filter for choosing messages in ESB in path
Filters messages using XPath, switch logic
Routes messages based on XPath filtering
Implements complex routing rules (Header based routing, content based routing and other rules)
Modifies and rewrites URLs or URL fragments
Sets or removes SOAP headers
Fault (also called Makefault)
Create SOAP Faults
Evaluate messages based on whether the same message came to the ESB
Clones a message
Stores messages in a predefined message store
Splits a message
Combines a message
Blocks web services calls
Executes a set of mediators transactionally
Limits the number of messages
Writes data to database
Retrieves information from database
Fines grain authorization
2-legged OAuth support
Creates and executes a custom mediator
Executes a custom command
Executes a mediator written in Scripting language
Creates a mediator managed by Spring
Used to apply lightweight transformations on messages in an efficient manner