Skip to content

Instantly share code, notes, and snippets.

@raj-rajaratnam
Created December 9, 2014 16:51
Show Gist options
  • Save raj-rajaratnam/87054c2815aaec79cc89 to your computer and use it in GitHub Desktop.
Save raj-rajaratnam/87054c2815aaec79cc89 to your computer and use it in GitHub Desktop.
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://ws.apache.org/ns/synapse">
<registry provider="org.wso2.carbon.mediation.registry.WSO2Registry">
<parameter name="cachableDuration">15000</parameter>
</registry>
<proxy name="AMQPProxy"
transports="rabbitmq"
startOnLoad="true"
trace="disable">
<description/>
<target>
<inSequence>
<property name="correlation-id"
expression="get-property('transport','rabbitmq.message.correlation.id')"/>
<property name="reply-to"
expression="get-property('transport','RABBITMQ_REPLY_TO')"/>
<sequence key="incoming"/>
</inSequence>
</target>
<parameter name="rabbitmq.queue.name">rpc-queue</parameter>
<parameter name="rabbitmq.exchange.name">rpc-exchange</parameter>
<parameter name="rabbitmq.connection.factory">AMQPConnectionFactory</parameter>
</proxy>
<sequence name="incoming" onError="back-end-fault">
<property name="symbol" expression="//in" scope="default" type="STRING"/>
<enrich>
<source type="inline" clone="true">
<m:getQuote xmlns:m="http://services.samples">
<m:request>
<m:symbol>?</m:symbol>
</m:request>
</m:getQuote>
</source>
<target type="body"/>
</enrich>
<enrich>
<source type="property" clone="true" property="symbol"/>
<target xmlns:m="http://services.samples" xpath="//m:getQuote/m:request/m:symbol"/>
</enrich>
<log level="full" separator=","/>
<send receive="receiving">
<endpoint>
<address uri="http://localhost:9000/services/SimpleStockQuoteService"/>
</endpoint>
</send>
</sequence>
<sequence name="receiving">
<property name="OUT_ONLY" value="true"/>
<property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
<property name="rabbitmq.message.correlation.id"
expression="get-property('correlation-id')"
scope="axis2"/>
<header name="To" expression="concat('rabbitmq:/AMQPProxy?rabbitmq.server.host.name=localhost&amp;rabbitmq.server.port=5672&amp;rabbitmq.server.user.name=guest&amp;rabbitmq.server.password=guest&amp;rabbitmq.queue.name=',get-property('reply-to'),'&amp;rabbitmq.exchange.name=callback-exchange')"/>
<send>
<endpoint>
<default/>
</endpoint>
</send>
</sequence>
<sequence name="back-end-fault">
<property name="OUT_ONLY" value="true"/>
<property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
<property name="rabbitmq.message.correlation.id"
expression="get-property('correlation-id')"
scope="axis2"/>
<log level="full">
<property name="MESSAGE" value="Executing default 'fault' sequence"/>
<property name="ERROR_CODE" expression="get-property('ERROR_CODE')"/>
<property name="ERROR_MESSAGE" expression="get-property('ERROR_MESSAGE')"/>
</log>
<send>
<endpoint>
<address uri="rabbitmq:/AMQPProxy?rabbitmq.server.host.name=localhost&amp;rabbitmq.server.port=5672&amp;rabbitmq.server.user.name=guest&amp;rabbitmq.server.password=guest&amp;rabbitmq.queue.name=dead-queue&amp;rabbitmq.exchange.name=dead-exchange"/>
</endpoint>
</send>
<drop/>
</sequence>
</definitions>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment