Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

How to Write a Custom Mediator in WSO2 ESB

DZone's Guide to

How to Write a Custom Mediator in WSO2 ESB

Free Resource

Learn how API management supports better integration in Achieving Enterprise Agility with Microservices and API Management, brought to you in partnership with 3scale

I will use WSO2 Developer Studio to write the custom mediator.

Click Developer studio tab and click open dashboard.








You can write the mediator logic in the following. 
Next create a carbon application project.

Next give the project name and select necessary dependencies.



Give a project name and click finish.

Next click "create archive"

Select the location (in file system) , Click 'OK'

Place the mediator (.car) to wso2esb-4.0.3/repository/deployment/server/carbonapps

The following code is a sample proxy service which will use a custom mediator
<proxy xmlns="http://ws.apache.org/ns/synapse" name="test" transports="https,http" statistics="disable" trace="disable" startOnLoad="true">
   <target>
      <inSequence>
         <class name="org.wso2.carbon.sample.FirstMediator" />
         <log level="full" />
         <send>
            <endpoint>
               <address uri="http://localhost:8282/services/SimpleStockQuoteService/" />
            </endpoint>
         </send>
      </inSequence>
      <outSequence>
         <send />
      </outSequence>
   </target>
</proxy>



Unleash the power of your APIs with future-proof API management - Create your account and start your free trial today, brought to you in partnership with 3scale.

Topics:

Published at DZone with permission of Achala Chathuranga Aponso, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}