Strange QuickFix engine response to execution report message
-
21-08-2019 - |
Question
I am currently experiencing a strange problem with the open-source QuickFix engine. Our broker is sending some test trades with MsgType = 8 (Execution Report), and our QuickFix engine immediately replies with an exception saying "Unsupported Message Type". All of the tags in the broker's message appear to be legitimate.
Why is this happening and how can I resolve the issue?
Solution
I can't read minds, but it sounds like you may have implemented your application as a MessageCracker but forgotten to override the appropriate onMessage
function. Note there is a separate onMessage
overload for each FIX version of a message type, e.g. there are:
onMessage (const FIX40::ExecutionReport&, const FIX::SessionID&)
onMessage (const FIX41::ExecutionReport&, const FIX::SessionID&)
onMessage (const FIX42::ExecutionReport&, const FIX::SessionID&)
onMessage (const FIX43::ExecutionReport&, const FIX::SessionID&)
onMessage (const FIX44::ExecutionReport&, const FIX::SessionID&)
The default implementation of all of these methods throws an UnsupportedMessageType
exception, which sounds like what you are seeing.