I'm working with the quickfix 1.13.3 in order to create a FIX bridge (FIX42) using Python.
The aim of this bridge is simply to forward FIX messages from some client applications towards broker FIX sessions (and vice versa).
Unfortunately I'm experiencing some issues when forwarding FIX messages that contain repeating groups.
For instance, forwarding a SecurityDefinition (35=d) to clients, the fields order of some custom repeating groups is not correct.
Actually some tags (for example 18203-ExchangeGateway) that should be in a custom group are sent before the group tag delimiter (18203-NoGateways) !
broker SecurityDefinition to bridge :
35=d .... 18206=1 18203=CME ....
client SecurityDefinition from bridge : 35=d .... 18203=CME 18206=1 .... 35=3 .... 58=Tag not defined for this message type 371=18203 ....
<group name="NoGateways" required="N"> <field name="ExchangeGateway" required="N" /> </group>
Of course clients/bridge/brokers use the same FIX dictionary. Please note that messages received by the bridge are simply re-send to the corresponding
client FIX sessions. No one is altering the content nor the fields order sequence ...
So why does this order change ?
How can I force the bridge's QF to serialize FIX messages for clients with the same fields order that brokers are sending to the bridge ?