CME STP Transport Adapter

Configuration

The CMESTP TA is configured using the following properties: 

Property NameDescription

Common properties

TransportLayer.CMESTP.DllName

The property defines path and name of the CMESTP adaptor DLL.

Several instances of CMESTP TA can be created using the same shared library since FIXEdge C++ 6.14.0.

TransportLayer.CMESTP.Description

The property defines name of the TA. 

The property is required.

TransportLayer.CMESTP.PollInterval

The property defines polling interval in seconds between a time when data from STP is received and the next request.

Valid values are '1' - '1799'.

The default value is '3'.

TransportLayer.CMESTP.Session

This property defines the names of CMESTP clients.

At least one client should be defined.

It is necessary to define the parameters described below for each client. The format is 'CMESTPSession.X.ParameterName' where 'X' is the name of the client.

Session properties

TransportLayer.CMESTP.ServerName

This property determines CMESMTP server name or IP address.
The property is required.

TransportLayer.CMESTP.ServerPort

This property determines SMTP server port.

The property is required.

TransportLayer.CMESTP.URI

This property determines URL name of provided HTTP POST service.

The property is required.

TransportLayer.CMESTP.ProxyHost

This property defines Proxy server host.

The property is oprional.

TransportLayer.CMESTP.ProxyPort

This property defines Proxy server port.

The property is optional.

TransportLayer.CMESTP.ProxyLogin

This property defines Proxy user login.

The property is required if authorization is needed, otherwise - not required.

TransportLayer.CMESTP.ProxyPassword

This property defines Proxy user password.

The property is required if authorization is needed, otherwise - not required.

TransportLayer.CMESTP.Protocol

This property defines the version of the session protocol.

Valid values: FIX40, FIX41, FIX42, FIX43, FIX44, FIX50, FIX50SP1, FIX50SP2.

The default value is 'FIX44'.

FIX Latest version of session layer protocol is supported since FIXEdge C++ 6.14.0. 

The property is optional.

TransportLayer.CMESTP.SmartXMLProcessing

This property defines behavior for incoming FIX messages with type 'n' of particular session.

When set to 'true', the incoming FIX messages with type 'n' (XML message) will be extracted for tag 213 (XmlData).

The property is not required if DefaultSmarXMLProcessing property is defined, otherwise - required.

TransportLayer.CMESTP.SendingTimeout

The property defines message sending timeout for a particular session.

The property is optional.

TransportLayer.CMESTP.SendingMaxAttempts

The property defines the number of sending attempts.

Value '0' the unlimited number of attempts.

The default value is '2'.

The property is optional.

TransportLayer.CMESTP.ConnectionTimeout

The property defines STP server connection timeout for a specified session.

The property is optional.

TransportLayer.CMESTP.KeepAliveTimeout

The property defines STP server keep-alive timeout in seconds for a specified session.

The default value is '3600' (hour).

The property is optional.

TransportLayer.CMESTP.ForceReconnect

The property forces STP reconnection if connection is losed or failed.

The default is 'false'.

The property is optional.

TransportLayer.CMESTP.Reconnect.MaxTries

The property defines number of reconnection attempts. Value '-1' means the unlimited number of reconnections.

The property is required when Session.ForceReconnect property has 'true'.

The changes in FIXEdge.properties file are applied only after the FIXEdge restart.

Configuration sample

The sample below represents the CMESTP TA configuration with the minimal set of parameters required to run the adaptor:

FIXEdge configuration file:

FIXEdge.properties
#------------------------------------------------------------
# The CME STP Adaptor configuration file.
#------------------------------------------------------------

# Adaptor's name. Property is required 
TransportLayer.CMESTP.Description = CME STP Transport Adaptor

# Contains path and name of the STP adaptor dll. Property is required 
TransportLayer.CMESTP.DllName = bin/STPAdaptor-vc10-MD-x64.dll

#libSTPAdaptor.so
# This parameter determines the name of STP client. 
TransportLayer.CMESTP.Session = STP

# STP server name or IP address. The property is required.
TransportLayer.CMESTP.ServerName = https://servicesnr.cmegroup.com

#New Release: https://servicesnr.cmegroup.com
# STP server port. The property is required.
TransportLayer.CMESTP.ServerPort = 443

# URL name of providing HTTP POST service. The property is required.
TransportLayer.CMESTP.URI = /cmestp/query
 
#Proxy server host. Optional.
#TransportLayer.CMESTP.ProxyHost
#Proxy server port. Optional.
#TransportLayer.CMESTP.ProxyPort
#Proxy user login. The property is required if authorization is needed, otherwise - not required.
#TransportLayer.CMESTP.ProxyLogin
#Proxy user password. The property is required if authorization is needed, otherwise - not required.
#TransportLayer.CMESTP.ProxyPassword
# The version of the session protocol. Protocol is valid for outgoing messages. 
# Values: FIX40, FIX41, FIX42, FIX43, FIX44. Default value is FIX44.
# The property is not required.
TransportLayer.CMESTP.Protocol = FIX44

# When true, the incoming FIX messages with type "n" (XML message) will be extracted for tag 213 (XmlData). Default value is 'true'.
# The property is not required if DefaultSmarXMLProcessing defined, otherwise - required.
TransportLayer.CMESTP.SmartXMLProcessing = true

# Message sending timeout, defined for a specified session. The property is not required.
TransportLayer.CMESTP.SendingTimeout = 5 

# Number of sending attempts. Value '0' the unlimited number of attempts. By default value is 2.
# The property is not required.
TransportLayer.CMESTP.SendingMaxAttempts = 2

# STP server connection timeout, defined for a specified session. The property is not required.
TransportLayer.CMESTP.ConnectionTimeout = 10

# STP server keep-alive timeout in seconds, defined for a specified session. By default value is 3600 seconds (hour).
# The property is not required.
TransportLayer.CMESTP.KeepAliveTimeout = 1900
 
# Forces STP reconnection if connection loses or failed. Default is 'false'.
# The property is not required.
TransportLayer.CMESTP.ForceReconnect = false

# Number of reconnection attempts. Value '-1' tries the unlimited number of reconnections.
# The property is required when Session.ForceReconnect property has 'true'.
TransportLayer.CMESTP.Reconnect.MaxTries = -1

#Logon/logout response message templates. Will be sent when user attempts to send logon. @USER@ and @REQID@ will be replaced with name and id received from user.
TransportLayer.CMESTP.Templates.LogonResponseMessage=<FIXML v="4.4" s="20040109" r="20030618"><UserRsp UserReqID="@REQID@" Username="@USER@" UserStat="1"/></FIXML>
TransportLayer.CMESTP.Templates.LogonRejectMessage=<FIXML v="4.4" s="20040109" r="20030618"><UserRsp UserReqID="@REQID@" Username="@USER@" UserStat="2" UserStatText="Illegal request"/></FIXML>
TransportLayer.CMESTP.Templates.LogoutResponseMessage=<FIXML v="4.4" s="20040109" r="20030618"><UserRsp UserReqID="@REQID@" Username="@USER@" UserStat="2"/></FIXML>
TransportLayer.CMESTP.Templates.LogoutRejectMessage=<FIXML v="4.4" s="20040109" r="20030618"><UserRsp UserReqID="@REQID@" Username="@USER@" UserStat="3" UserStatText="@TEXT@"/></FIXML>

#Transport error message template. Will be sent when transport session to CME goes down. @USER@ and @REQID@ will be replaced with name and id received from user.
TransportLayer.CMESTP.Templates.TransportErrorMessage=<FIXML v="4.4" s="20040109" r="20030618"><UserRsp UserReqID="@REQID@" Username="@USER@" UserStat="2" UserStatText="Transport Error: Connection to CME  was lost"/></FIXML>

#Subscription response/reject message templates. Will be sent when user requests active subscription. @REQID@ will be replaced with id received from user.
TransportLayer.CMESTP.Templates.SubscriptionResponseMessage=<FIXML v="4.4" s="20040109" r="20030618"><TrdCaptRptReqAck ReqID="@REQID@" ReqTyp="@REQTYP@" ReqRslt="0" ReqStat="@STAT@"/></FIXML>
TransportLayer.CMESTP.Templates.SubscriptionRejectMessage=<FIXML v="4.4" s="20040109" r="20030618"><TrdCaptRptReqAck ReqID="@REQID@" ReqTyp="@REQTYP@" ReqRslt="1" ReqStat="2" Txt="Illegal subscription request"/></FIXML>
TransportLayer.CMESTP.Templates.SubscriptionInvalidMessage=<FIXML v="4.4" s="20040109" r="20030618"><TrdCaptRptReqAck ReqID="@REQID@" ReqTyp="@REQTYP@" ReqRslt="9" ReqStat="2" Txt="Unsupported request type"/></FIXML>

#STP Adapter subscription polling interval in seconds. Valid values are 1 - 1799, default value: 3
TransportLayer.CMESTP.PollInterval = 3