Skip to content

Instantly share code, notes, and snippets.

@edgars
Created July 8, 2015 19:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save edgars/dc4226dc44360f0bde9e to your computer and use it in GitHub Desktop.
Save edgars/dc4226dc44360f0bde9e to your computer and use it in GitHub Desktop.
tr_currencyconverter
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="tr_currencyconverter"
transports="vfs"
statistics="disable"
trace="disable"
startOnLoad="true">
<target>
<inSequence>
<log level="full"/>
<property xmlns:p="http://ws.apache.org/commons/ns/payload"
name="pair"
expression="//p:text"
scope="default"
type="STRING"/>
<script language="js">var pair = mc.getProperty("pair");
var pos = pair.indexOf(';');
var fromCurrency = pair.slice(0,pos);
var toCurrency = pair.slice(pos+1);
mc.setProperty('fromCurrency',fromCurrency);
mc.setProperty('toCurrency',toCurrency);</script>
<payloadFactory media-type="xml">
<format>
<web:ConversionRate xmlns:web="http://www.webserviceX.NET/">
<web:FromCurrency>$1</web:FromCurrency>
<web:ToCurrency>$2</web:ToCurrency>
</web:ConversionRate>
</format>
<args>
<arg evaluator="xml" expression="get-property('fromCurrency')"/>
<arg evaluator="xml" expression="get-property('toCurrency')"/>
</args>
</payloadFactory>
<header name="Action" value="http://www.webserviceX.NET/ConversionRate"/>
<call>
<endpoint>
<wsdl service="CurrencyConvertor"
port="CurrencyConvertorSoap"
uri="http://www.webservicex.net/CurrencyConvertor.asmx?WSDL">
<timeout>
<duration>60000</duration>
<responseAction>fault</responseAction>
</timeout>
</wsdl>
</endpoint>
</call>
<log level="full"/>
<property xmlns:r="http://www.webserviceX.NET/"
name="rate"
expression="//r:ConversionRateResult"
scope="default"
type="STRING"/>
<payloadFactory media-type="xml">
<format>
<text xmlns="http://ws.apache.org/commons/ns/payload">$1</text>
</format>
<args>
<arg evaluator="xml" expression="get-property('rate')"/>
</args>
</payloadFactory>
<log level="full"/>
<property name="transport.vfs.ReplyFileName"
expression="fn:concat(fn:substring-after(get-property('MessageID'), 'urn:uuid:'), '.txt')"
scope="transport"/>
<property name="OUT_ONLY" value="true"/>
<property name="ClientApiNonBlocking"
value="true"
scope="axis2"
action="remove"/>
<send>
<endpoint>
<address uri="vfs:file:///Users/edgar/Documents/esb/cotacoes/saida"/>
</endpoint>
</send>
</inSequence>
</target>
<parameter name="transport.PollInterval">2</parameter>
<parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
<parameter name="transport.vfs.MoveAfterProcess">vfs:file:////Users/edgar/Documents/esb/cotacoes/processados</parameter>
<parameter name="transport.vfs.FileURI">vfs:file:///Users/edgar/Documents/esb/cotacoes/recebidos</parameter>
<parameter name="transport.vfs.MoveAfterFailure">vfs:file:///Users/edgar/Documents/esb/cotacoes/rejeitados</parameter>
<parameter name="transport.vfs.FileNamePattern">.+\.txt</parameter>
<parameter name="transport.vfs.ContentType">text/plain</parameter>
<parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter>
<parameter name="serviceType">proxy</parameter>
<description/>
</proxy>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment