Imported from previous forum
What actions are to be taken in general, if FIX engine receives an unexpected message?
If it is application message, it is obvious to forward to business logic, provided logon has been completed.
What about administrative message? For e.g. ResendRequest received when waiting for Logon(Ack) etc?
Should the sequence number be consumed?
[Start Quote from FIXT.1.1 pdf spec Page 44/66 Section Testcases]
Buyside-oriented (session initiator) Logon and session initiation test case 1B
Condition/Stimulus
e. Receive any message other than a Logon message.
Expected Behavior
- Log an error “first message not a logon”
- (Optional) Send Reject message with RefMsgSeqNum referencing message’s MsgSeqNum with Text referencing error condition
- Send Logout message with Text referencing error condition
- Disconnect
[End quote]
I am quoting from the FIXT.1.1 spec because this scenario is not explained in FIX.4.0 specs and whenever there is a scenario not covered in an earlier FIX version, I refer to the latest / later versions to see if that scenario is covered and use that as my solution.
What actions are to be taken in general, if FIX engine receives an unexpected message?
If it is application message, it is obvious to forward to business logic, provided logon has been completed.
What about administrative message? For e.g. ResendRequest received when waiting for Logon(Ack) etc?
Should the sequence number be consumed?