CME STP FIX - Error Handling
This section describes various error conditions that client systems of CME STP FIX may encounter. Error conditions or failures may occur either while establishing a new FIX session or to on-going an established session.
Table of Contents
- 1 Logon - Unsuccessful
- 2 Trade Snapshot Request: Failed Request – Missing Start Time or Invalid Combination of Filters
- 3 Subscription with Multiple FirmIDs: Failed Request – at Least One FirmID is Invalid
- 4 Subscription with Multiple FirmIDs: Failed Request – Specified FirmIDs have Different Party Roles
- 5 Duplicate Subscription Request
Logon - Unsuccessful
CME STP FIX rejects a client system login attempt with a Logout (tag 35-MsgType = 5) message and the tag 58-Text populated detailing the reason for the redetection. After the reject is sent the TCP/IP connection is terminated.
Client Sequence Number Less Than Expected
The FIX client system will be disconnected if a sequence number less is than what is expected by CME STP FIX.
Service Availability – Internal Errors
On rare occasions, the CME STP FIX gateway may be available to clients but upstream CME Group systems are unavailable. In these scenarios, CME STP FIX clients will experience the following messaging:
Internal Error – Client Logon
If CME STP FIX does not have access to upstream CME Group systems:
Logon request will be rejected by CME STP FIX with a Logout message
Client systems should continue to retry Logons no more frequently than one message every 30 seconds
Internal Error – Before First TradeCaptureReportRequest (AD)
If CME STP FIX losses access to upstream CME Group systems after a successful Logon:
CME STP FIX will send a TradeCaptureReportRequestAck with error in tag 58-Text, on loss of access to upstream CME Group systems
Client systems should retry a TradeCaptureReportRequest no more frequently than one message every 30 seconds
Internal Errors – After First TradeCaptureReportRequest (AD)
If CME STP FIX losses access to upstream CME Group systems after a successful TradeCaptureReportReque:
CME STP FIX will send an unsolicited TradeCaptureReportRequestAck with error in tag 58-Text
Client systems should resend Trade Capture Report Request no more frequently than one message every 30 seconds
Summary of Internal Errors
The following table summarizes internal errors.
Scenario | Triggering Client Message | Identifying CME STP FIX Message | Client Response |
---|---|---|---|
Internal Error at Client Login | Logon (35=A) | Logon Reject with Logout (35=5) | Resend Logon (35=A) every 30 seconds until successful |
Internal Error Before Trade Capture Report Request | Trade Capture Report Request (35=AD) | Trade Capture Report Request Acknowledgment (35=AQ) where tag 749-TradeRequestResult = 99 (Other) tag 750 TradeRequestStatus = 1 (Completed) tag 58-Text = Transport Error: Connection to CME was lost | Resend Trade Capture Report Request (35=AD) every 30 seconds until successful |
Internal Error After a Successful Trade Capture Report Request | Unsolicited | Trade Capture Report Request Acknowledgment (35=AQ) where tag 749-TradeRequestResult = 99 (Other) tag 750 TradeRequestStatus = 1 (Completed) tag 58-Text = Transport Error: Connection to CME was lost | Resend Trade Capture Report Request (35=AD) every 30 seconds until successful |
Trade Snapshot Request: Failed Request – Missing Start Time or Invalid Combination of Filters
FIX Client sends Trade Capture Report Request (tag 35-MsgType = AD) with the following tags:
tag 569-TradeRequestType = 1 (All trades)
tag 263-SubscriptionRequestType = 0 (Snapshot)
tag 453-NoPartyIDs ≥ 1 and tag 448-PartyID = Firm ID and tag 452-PartyRole = Firm Role
All PartyRoles must be identical within a single request
tag 9593-StartTime is absent or invalid combination of snapshot specific filters is specified
CME STP FIX sends Trade Capture Report Request Ack (tag 35-MsgType = AQ) with tag 749-TradeRequestResult = 0 (Successful) and tag 750-TradeRequestStatus = 0 (Accepted) to FIX Client.
CME STP FIX rejects subscription with Trade Capture Report Request Ack (tag 35-MsgType =AQ) with tag 750-TradeRequestStatus = 2 (Rejected), tag 749-TradeRequestResult = 9 (Unauthorized for Trade Capture Report Request) and tag 58-Text containing the reject reason.
Subscription with Multiple FirmIDs: Failed Request – at Least One FirmID is Invalid
Precondition: a client system has successfully logged in
FIX Client sends Trade Capture Report Request (tag 35-MsgType = AD) with the following tags:
tag 569-TradeRequestType = 1 (All trades)
tag 263-SubscriptionRequestType = 0 (Snapshot) or 1 (Subscription)
tag 453-NoPartyIDs = 2
tag 448-PartyID = Firm ID_A and tag 452-PartyRole = Firm Role (the same for all entries)
tag 448-PatryID = Firm ID_B and tag 452-PartyRole = Firm Role (the same for all entries)
CME STP FIX sends Trade Capture Report Request Ack (tag 35-MsgType = AQ) with tag 750-TradeRequestStatus = 2 (Rejected), tag 749-TradeRequestResult = 9 (Unauthorized for Trade Capture Report Request) and tag 58-Text = 'Authorization FAILED: Authenticated User <<Logged in API ID>> can NOT query on behalf of [FirmID_A] as [Firm Role value]' to FIX Client.
Subscription with Multiple FirmIDs: Failed Request – Specified FirmIDs have Different Party Roles
Precondition: a client system has successfully logged in
FIX Client system sends Trade Capture Report Request (tag 35-MsgType = AD) with the following tags:
tag 569-TradeRequestType = 1 (All trades)
tag 263-SubscriptionRequestType = 0 (Snapshot) or 1 (Subscription)
tag 453-NoPartyIDs = 2
tag 448-PartyID = Firm ID_A and tag 452-PartyRole = Firm Role (different from the second entry)
tag 448-PartyID = Firm ID_B and tag 452-PartyRole = Firm Role (different from the first entry)
CME STP FIX sends Trade Capture Report Request Ack (tag 35-MsgType = AQ) with tag 750-TradeRequestStatus = 2 (Rejected), tag 749-TradeRequestResult = 9 (Unauthorized for Trade Capture Report Request) and tag 58-Text = 'Invalid PtyR. Only one role may be queried for at a time' to FIX client system.
Duplicate Subscription Request
Precondition: A session between a client system and CME STP FIX is established and the client system is successfully subscribed for CME STP FIX data.
FIX Client system sends a duplicate Trade Capture Report Request (tag 35-MsgType=AD) to CME STP FIX.
CME STP FIX rejects subscription with Trade Capture Report Request Ack (tag 35-MsgType =AQ) having tag 750-TradeRequestStatus = 2 (Rejected), tag 749-TradeRequestResult = 9 (Unauthorized for Trade Capture Report Request) and tag 58-Text = Illegal subscription request.
CME STP FIX does not interrupt the existing FIX client systems subscription for trades.
How was your Client Systems Wiki Experience? Submit Feedback
Copyright © 2024 CME Group Inc. All rights reserved.