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

Route messages based on HTTP Headers with WSO2 ESB

DZone's Guide to

Route messages based on HTTP Headers with WSO2 ESB

Free Resource

Are your API program basics covered? Read the 5 Pillars of Full Lifecycle API Management eBook

The following code can be used to route messages based on HTTP Headers in the WSO2 Enterprise Service Bus.

<proxy xmlns="http://ws.apache.org/ns/synapse" name="test1" transports="https,http" statistics="disable" trace="disable" startOnLoad="true">
   <target>
      <inSequence>
         <log level="custom">
            <property name="log" expression="get-property('transport','Accept')" />
         </log>
         <filter xmlns:ns="http://org.apache.synapse/xsd" source="get-property('transport','Accept')" regex="text/html">
            <then>
               <log level="custom">
                  <property name="test" value="text/html" />
               </log>
               <sequence key="sequence1" />
            </then>
            <else>
               <log level="custom">
                  <property name="test" value="other" />
               </log>
               <sequence key="sequence2" />
            </else>
         </filter>
         <send>
            <endpoint>
               <address uri="http://localhost:9000/services/SimpleStockQuoteService" format="soap12" />
            </endpoint>
         </send>
      </inSequence>
      <outSequence>
         <send />
      </outSequence>
   </target>
</proxy>


More details available at [1]

[1] http://wso2.org/project/esb/java/4.0.3/docs/samples/proxy_samples.html#Sample157 

Establish API creation, publishing and discovery as a master practice with the API Management Playbook.

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.

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

{{ parent.tldr }}

{{ parent.urlSource.name }}