The Thomson Reuters FIX venue uses FIX version FIX50SP2/FIXT.1.1 which requires the use of the TIBCO® Streaming High-Performance FIX Engine. The QuickFIX/J engine in Streaming does not support this FIX version.
The configuration requires non-default settings for:
* FIX Adapter Properties
* Session Configuration XML Settings
* Engine fixengine.properties Settings
* Runtime Commands
FIX adapter properties
In the FIX adapter properties in Studio set:
FIX Engine to Use = "StreamBase High Performance Engine"
FIX Admin Message Interceptor Class = com.sb.support.FIXTAdminMessageInterceptor
Perform User-Level Logon Procedure (BE/BF FIX messages) = [checked]
Use SenderSubID Field To Identify Session = [checked]
Session Configuration XML Settings
In the session configuration, set:
<version>FIX.5.0SP2</version>
<begin-string>FIXT.1.1</begin-string>
<reset-on-logon>false</reset-on-logon>
<username>youruser</username>
<password>yourpassword</password>
<sender-sub-id>yoursubid</sender-sub-id>
<cstm-appl-ver-id>9</cstm-appl-ver-id>
<new-password>yournewpassword</new-password>
<user-data-list></user-data-list>
(The other defaults from our FIX adapter sample project are correct for this venue.)
Engine fixengine.properties Settings
In the fixengine.properties file set:
handleSeqNumAtLogon=true
outgoingStorageIndexed=false
These settings support the MATCHING API requirements that
NextExpectedMsgSeqNum(tag-789) is used in the session, and that message resends are limited to
SequenceReset(tag-4)/
Gap-Fill responses.
Runtime Commands
The "
THOMSON REUTERS MATCHING API" test "
5.5 Client sending Tag 789 higher than expected" requires additional adapter commands at 'A.' after step '10.':
9. Submit a FIX Session login request (35=A).
10. Receive Session logout response (Expected 1. Received X).
A. At this point, submit the FIX adapter commands:
1. Reset the session (FIX spec requirement since we cannot re-use sequence numbers in a session):
Command: ResetSession
BeginString: FIXT.1.1
SenderCompID: {you}
TargetCompID: TR MATCHING
2. Adjust our next sequence number to '2' (since seq=1 was the last failed Logon attempt):
Command: SetSenderMsgSeqNum
BeginString: FIXT.1.1
SenderCompID: {you}
TargetCompID: TR MATCHING
BeginSeqNo: 2
3. Adjust the target expected sequence number (to accommodate the test):
Command: SetTargetMsgSeqNum
BeginString: FIXT.1.1
SenderCompID: {you}
TargetCompID: TR MATCHING
BeginSeqNo: 2
11. Submit a FIX Session login request (35=A, 789=2).