Apache Synapse

##### Main Menu

- Home
- Download
- History
- License
- Thanks
- Sponsorship
- Security

##### Documentation

- Installation Guide
- Quick Start Guide
- Samples Setup Guide
- Samples Catalog
- Configuration Language
- Mediators Catalog
- Transports Catalog
- Extending Synapse
- Upgrading
- Deployment
- Javadocs
- FAQ

##### Developer Resources

- Developer Guide
- Development Best Practices
- Release Process

##### Project Details

- Overview
- Mailing Lists
- Source Repository
- Issue Tracking
- Dependencies
- Project Team
- Project Summary

##### Previous Releases

- Version 1.2
- Version 1.1.1
- Version 1.1
- Version 1.0

## Sample 261: Switch Between Different FIX Versions

<definitions xmlns="http://ws.apache.org/ns/synapse"> <proxy name="OrderProcesserProxy41" transports="fix"> <target> <endpoint> <address uri="fix://localhost:19877?BeginString=FIX.4.1&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-m40.cfg </parameter> <parameter name="transport.fix.AcceptorMessageStore">file</parameter> <parameter name="transport.fix.InitiatorConfigURL"> file:repository/conf/sample/resources/fix/synapse-sender-m.cfg </parameter> <parameter name="transport.fix.InitiatorMessageStore">file</parameter> </proxy> </definitions>

### Objective

Demonstrate the ability of Synapse to switch between FIX versions (eg: FIX 4.0 to FIX 4.1)

### 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.
- Enable the FIX transport listener and sender for Synapse (refer FIX setup guide for details).
- 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). In previous samples we only had a FIX 4.0 session configured for Executor. For this sample we should configure a FIX 4.1 session for Executor. Therefore before starting it add the following entries to the configuration file of Executor (executor.cfg).
  [session] BeginString=FIX.4.1 SocketAcceptPort=19877
- Start Synapse using the configuration numbered 261 (repository/conf/sample/synapse_sample_261.xml)
  Unix/Linux: sh synapse.sh -sample 261
  Windows: synapse.bat -sample 261
  If Executor is properly configured, Synapse should establish a FIX 4.1 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). You should also add the following entry to the Banzai configuration file before starting it (replace $SYNAPSE_HOME with the actual path to Synapse home).
  DataDictionary=$SYNAPSE_HOME/repository/conf/sample/resources/fix/FIX40-synapse.xml
  If Banzai was properly configured, it should establish a FIX 4.0 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.

Note that the session between Banzai and Synapse is a FIX 4.0 session whereas the session between Synapse and Execurot is a FIX 4.1 session. Synapse receives FIX 4.0 messages and simply forwards them to the FIX 4.1 endpoint.

Back to Catalog