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

Builder Mediator

The Builder Mediator can be used to build the actual SOAP message from a message coming in to ESB through the Message Relay. One usage is to use this before trying to log the actual message in case of an error. Also with the Builder Mediator ESB can be configured to build some of the messages while passing the others along.

In order to use the Builder mediator, BinaryRealyBuilder should be specified as the message builder in the <ESB_HOME>/repository/conf/axis2/axis2.xml file for at least one content type. The message formatter specified for the same content types should be ExpandingMessageFormatter. Unlike other message builders defined in axis2.xml, the BinaryRelayBuilder works by passing through a binary stream of the received content. The Builder mediator is used in conjunction with the BinaryRelayBuilder when we require to build the binary stream into a particular content type during mediation. We can specify which message builder should be used to build the binary stream using the Builder mediator. 

By default, Builder Mediator uses the axis2 default Message builders for the content types. User can override those by using the optional messageBuilder configuration. See sample configurations of Message builder and Message formatter in Configuring Message Relay.

Like in axis2.xml user has to specify the content type and the implementation class of the messageBuilder. Also user can specify the message formatter for this content type. This is used by the ExpandingMessageFormatter to format the message before sending to the destination.

Syntax

<syn:builder xmlns:syn="http://ws.apache.org/ns/synapse">
        <syn:messageBuilder contentType="" class="" [formatterClass=""]/>
</syn:builder>