Я знаю, это звучит странно, но мой брокер просто не принимает сообщение, которое я отправляю, и причина в том, что некоторые поля (вне повторяющихся групп) должны находиться перед некоторыми другими полями.
Я решил аналогичную проблему, указав порядок полей в повторяющейся группе, унаследовав класс от группы и передав массив int для указания порядка.
Но похоже, что для сообщений я не могу этого сделать
Кто-нибудь предлагает?
Базовый класс FieldMap Message принимает message_order. Добавьте конструктор к Message, который позволяет указать message_order для инициализации базового класса (см. Message.h и Message.cpp). Если вы хотите использовать эту способность в сгенерированных подклассах, вам необходимо соответствующим образом настроить генераторы кода. Если вы сделаете это, я рекомендую пожертвовать патчи проекту QuickFIX.
Других решений пока нет …