This documentation is for WSO2 Enterprise Service Bus 3.0.0. View documentation for the latest release.

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Class Mediator creates an instance of a custom specified class and sets it as a mediator. The class must implement the org.apache.synapse.api.Mediator interface. If any properties are specified, the corresponding setter methods are once invoked on the class during initialization.

...

Table of Contents
maxLevel3
minLevel3
styleborder:1
locationtop
typeflat
separatorpipe

...

Syntax

Code Block

<class name="class-name">
   <property name="string" value="literal">
    (either literal or XML child)
   </property>
 </class>

...

Info
titleNote

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

...

Example

Code Block

<definitions xmlns="http://ws.apache.org/ns/synapse">

        <sequence name="fault">
            <makefault>
                <code value="tns:Receiver" xmlns:tns="http://www.w3.org/2003/05/soap-envelope"/>
                <reason value="Mediation failed."/>
            </makefault>
            <send/>
        </sequence>

        <sequence name="main" onError="fault">
            <in>
                <send>
                    <endpoint name="stockquote">
                        <address uri="http://localhost:9000/services/SimpleStockQuoteService"/>
                    </endpoint>
                </send>
            </in>
            <out>
                <class name="samples.mediators.SimpleClassMediator">
                    <property name="varible1" value="10"/>
                    <property name="varible2" value="5"/>
                </class>
                <send/>
            </out>
        </sequence>

    </definitions>

...

A simple Class Mediator Implementaion
Code Block

package samples.mediators;

    import org.apache.synapse.MessageContext;
    import org.apache.synapse.Mediator;
    import org.apache.axiom.om.OMElement;
    import org.apache.axiom.om.OMAbstractFactory;
    import org.apache.axiom.om.OMFactory;
    import org.apache.axiom.soap.SOAPFactory;
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;

    import javax.xml.namespace.QName;

    public class SimpleClassMediator implementsextends MediatorAbstractMediator {

        private static final Log log = LogFactory.getLog(DiscountQuoteMediator.class);

        private String varible1="10";

        private String varible2="10";

        private int varible3=0;

        public DiscountQuoteMediator(){}

        public boolean mediate(MessageContext mc) {
            // Do somthing useful..
            // Note the access to the Synapse Message context
            return true;
        }

        public String getType() {
            return null;
        }

        public void setTraceState(int traceState) {
            traceState = 0;
        }

        public int getTraceState() {
            return 0;
        }

        public void setvarible1(String newValue) {
            varible1=newValue;
        }

        public String getvarible1() {
            return varible1;
        }

        public void setvarible2(String newValue){
            varible2=newValue;
        }

        public String getvarible2(){
            return varible2;
        }
    }
Excerpt
hiddentrue

Description of the Class Mediator in WSO2 ESB.