Sample 257: Proxy Services with the FIX Transport

<definitions xmlns="http://ws.apache.org/ns/synapse"> <proxy name="OrderProcesserProxy40" transports="fix"> <target> <endpoint> <address uri="fix://localhost:19876?BeginString=FIX.4.0&SenderCompID=SYNAPSE&TargetCompID=EXEC"/> </endpoint> <inSequence> <log level="full"/> </inSequence> <outSequence> <log level="full"/> <send/> </outSequence> </target> <parameter name="transport.fix.AcceptorConfigURL"> file:repository/conf/sample/resources/fix/fix-synapse.cfg </parameter> <parameter name="transport.fix.AcceptorMessageStore">file</parameter> <parameter name="transport.fix.InitiatorConfigURL"> file:repository/conf/sample/resources/fix/synapse-sender.cfg </parameter> <parameter name="transport.fix.InitiatorMessageStore">file</parameter> </proxy> </definitions>

Objective

This sample demonstrates the FIX (Financial Information eXchange) transport of Synapse. FIX transport allows Synapse to connect to remote FIX acceptors and initiators and exchange finance data.

Pre-requisites

  • You need a Quickfix/J installation to try out FIX samples. Please download and extract a Quickfix/J distribution into your local machine.
  • Configure the Executor sample FIX application (shipped with Quickfix/J) to receive messages from Synapse and start it (refer FIX setup guide for more details).
  • Enable the FIX transport listener and sender for Synapse (refer FIX setup guide for details).
  • Start Synapse using the configuration numbered 257 (repository/conf/sample/synapse_sample_257.xml)
    Unix/Linux: sh synapse.sh -sample 257
    Windows: synapse.bat -sample 257
    If Executor is properly configured, Synapse should establish a FIX session with the Executor upon startup. You should see some log entries confirming the session logon event on Synapse console as well as Executor console.
  • Configure Banzai sample FIX application (shipped with Quickfix/J) to send messages to Synapse and start it (refer FIX setup guide for more details). If Banzai was properly configured, it should establish a FIX session with Synapse upon startup. You should see some session logon messages on Synapse console and Banzai console.

Executing the Client

Send some FIX messages from Banzai to Synapse. Synapse will forward all requests to Executor and get them processes. Responses from Executor will be routed back to Banzai.

Synapse converts all received FIX messages into SOAP format. You can view these SOAP messages from the Synapse log. When SOAP messages are sent to FIX endpoints, Synapse converts them back into valid FIX messages. While FIX messages are flowing through the service bus, you can perform various transformations and content based routing on the FIX messages using the existing mediators like XSLT, XQuery, Filter and Switch.

Back to Catalog