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?

Was it helpful?

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top