FIX (Financial Information eXchang) transport implementation is a module developed under the Apache Synapse project. This transport is mainly used with WSO2 ESB in conjunction with proxy services. Class org.apache.synapse.transport.fix.FIXTransportListener
acts as the transport receiver whereas the org.apache.synapse.transport.fix.FIXTransportSender
acts as the transport sender implementation. These classes can be found in the synapse-fix-transport.jar
file. The transport implementation is based on Quickfix/J open source FIX engine and hence the following additional dependencies are required to enable the FIX transport.
mina-core.jar
quickfixj-core.jar
quickfixj-msg-fix40.jar
quickfixj-msg-fix41.jar
quickfixj-msg-fix42.jar
quickfixj-msg-fix43.jar
quickfixj-msg-fix44.jar
slf4j-api.jar
slf4j-log4j12.jar
Download Quickfix/J from here and in the distribution archive you will find all the dependencies listed above. Also please refer to Quickfix/J documentation on configuring FIX acceptors and initiators.
FIX transport does not support any global parameters. All the FIX configuration parameters should be specified at service level.
Service Level FIX Parameters
Parameter Name |
Description |
Requried |
Possible Values |
Default Value |
---|---|---|---|---|
transport.fix.AcceptorConfigURL |
URL to the Quickfix/J acceptor configuration file (see notes below). |
Required for receiving messages over FIX |
A valid URL |
|
transport.fix.InitiatorConfigURL |
URL to the Quickfix/J initiator configuration file (see notes below). |
Required for sending messages over FIX |
A valid URL |
|
transport.fix.AcceptorLogFactory |
Log factory implementation to be used for the FIX acceptor (Determines how logging is done at the acceptor level). |
No |
console, file, jdbc |
Logging disabled |
transport.fix.InitiatorLogFactory |
Log factory implementation to be used for the FIX acceptor (Determines how logging is done at the acceptor level). |
No |
console, file, jdbc |
Logging disabled |
transport.fix.AcceptorMessageStore |
Message store mechanism to be used with the acceptor (Determines how the FIX message store is maintained). |
No |
memory, file, sleepycat, jdbc |
memory |
transport.fix.InitiatorMessageStore |
Message store mechanism to be used with the initiator (Determines how the FIX message store is maintained). |
No |
memory, file, sleepycat, jdbc |
memory |
transport.fix.ResponseDeliverToCompID |
If the response FIX messages should be delivered to a location different from the location the request was originated use this property to set the DeliverToCompID field of the FIX messages. |
No |
|
|
transport.fix.ResponseDeliverToSubID |
If the response FIX messages should be delivered to a location different from the location the request was originated use this property to set the DeliverToSubID field of the FIX messages. |
No |
|
|
transport.fix.ResponseDeliverToLocationID |
If the response FIX messages should be delivered to a location different from the location the request was originated use this property to set the DeliverToLocationID field of the FIX messages. |
No |
|
|
transport.fix.SendAllToInSequence |
By default, all received FIX messages (including responses) will be directed to the in sequence of the proxy service. Use this property to override that behavior. |
No |
true, false |
true |
transport.fix.BeginStringValidation |
Whether the transport should validate BeginString values when forwrding FIX messages across sessions. |
No |
true, false |
true |
transport.fix.DropExtraResponses |
In situation where the FIX recipient sends multiple responses per request use this parameter to drop excessive responses and use only the first one. |
No |
true, false |
false |
Please refer WSO2 ESB samples 257 and 258 for more details on using the FIX transport in practice.