Overview
The Simple XML Socket Transport Adaptor (hereinafter SXS) is intended for communication with FIXEdge from third-part applications. The main goal of this adaptor is a quick and easy building of the network applications that communicate using XML messages.
Installation
SXS adaptor is distributed as a zip-archive with the name SXSAdaptor_xx.zip, where xx stands for SXS adaptor version. To install SXS adaptor unpack the .zip file and copy SXSAdaptorAddin.dll into the FIXEdge's \bin folder. See the sections Configuration in order to learn how to configure SXS adaptor. After the SXS adaptor is configured the FIXEdge needs to be started.
Configuration
SXS adaptor is configured using the following properties:
TransportLayer.SXSAdaptorDLL.DllName
TransportLayer.SXSAdaptorDLL.Description
TransportLayer.SXSAdaptorDLL.Type
TransportLayer.SXSAdaptorDLL.listenPort
TransportLayer.SXSAdaptorDLL.heartbeatInterval
TransportLayer.SXSAdaptorDLL.reasonableTransmissionTime
Property name | Description |
TransportLayer.SXSAdaptorDLL.DllName | Contains path and name of the SXS adaptor dll. Property is required |
TransportLayer.SXSAdaptorDLL.Description | Adaptor's name. Property is required |
TransportLayer.SXSAdaptorDLL.Type | Type of the adaptor library, contains value 'DLL'. Property is required |
TransportLayer.SXSAdaptorDLL.listenPort | Listen port that SXS adaptor uses to accept client's connections. Integer value, should be > 0. Property is required |
TransportLayer.SXSAdaptorDLL.heartbeatInterval | This parameter controls how often SXS adaptor sends HeartBeat messages. HeartBeat messages are used to verify that the another peer is alive. Time is seconds. |
TransportLayer.SXSAdaptorDLL.reasonableTransmissionTime | This parameter controls how long SXS adaptor waits for the HeartBeat message responce. When HeartBeat message response isn't receivedheartbeatInterval*(1 + reasonableTransmissionTime/100) time interval, SXS adaptor makes decision that client isn't alive and closes session. Value in percents, > 0 and <100. |
To integrate SXS adaptor into the FIXEdge, the following steps have to be executed:
- Open FIXEdge properties file (FIXEdge.properties by default).
- Find 'TransportLayer.TransportAdapters' property
- Add 'TransportLayer.TransportAdapters' property in case it doesn't exist Set 'TransportLayer.SXSAdaptorDLL' to the value of the 'TransportLayer.TransportAdapters' property:
TransportLayer.TransportAdapters = TransportLayer.SXSAdaptorDLL
- If 'TransportLayer.TransportAdapters' property already has value - append ',TransportLayer.SXSAdaptorDLL' to the value:
TransportLayer.TransportAdapters = ...,TransportLayer.SFSAdaptorDLL,TransportLayer.SXSAdaptorDLL
Add property 'TransportLayer.SXSAdaptorDLL.Description' with value - SXS adaptor name:
TransportLayer.SXSAdaptorDLL.Description = SXS Transport Adaptor DLL
Add property 'TransportLayer.SXSAdaptorDLL.DllName' with value - path to the SXS adaptor dll:
TransportLayer.SXSAdaptorDLL.DllName = bin/SXSAdaptorAddin.dll
Add property 'TransportLayer.SXSAdaptorDLL.Type' with value 'DLL':
TransportLayer.SXSAdaptorDLL.Type = DLL
Add property 'TransportLayer.SXSAdaptorDLL.listenPort' with value - port where SXS adaptor will accept incoming connections:
TransportLayer.SXSAdaptorDLL.listenPort = 8145
Add property 'TransportLayer.SXSAdaptorDLL.heartbeatInterval' with value - delay between 2 HeartBeat message sending:
TransportLayer.SXSAdaptorDLL.NumberOfWorkers = 4
Add property 'TransportLayer.SXSAdaptorDLL.reasonableTransmissionTime, like this:
TransportLayer.SXSAdaptorDLL.reasonableTransmissionTime = 20
- Restart FIXEdge to apply changes
After changes the FIXEdge properties file may look like this:
.... #------------------------------------------------------------ # Transport Layer Section #------------------------------------------------------------ TransportLayer.TransportAdapters = TransportLayer.SXSAdaptorDLL .... #------------------------------------------------------------ # SXS Adaptor settings #------------------------------------------------------------ # SXS adaptor name TransportLayer.SXSAdaptorDLL.Description = Simple XML Sockets Transport Adaptor DLL # Contains path and name of the SXS adaptor dll. Property is required TransportLayer.SXSAdaptorDLL.DllName = bin/SXSAdaptorAddin.dll # Type of the adaptor library, has contains value 'DLL'. Property is required TransportLayer.SXSAdaptorDLL.Type = DLL # Listen port, that SXS adaptor use to accept client's connections. Integer value, should be > 0. Property is required TransportLayer.SXSAdaptorDLL.listenPort = 8146 # This parameter controls how often SXS adaptor sends HeardBeat messages. HeardBeat messages used to verify that the another peer is alive. Time is seconds TransportLayer.SXSAdaptorDLL.heartbeatInterval = 4 # This parameter controls how long SXS adaptor waits for the HeardBeat message responce. When HeardBeat message response weren't received # heartbeatInterval*(1 + reasonableTransmissionTime/100) time interval, SXS adaptor makes decision that client isn't alive and closes session. # Value in percents, > 0 and <100. TransportLayer.SXSAdaptorDLL.reasonableTransmissionTime = 20 ....