Тег появляется более одного раза QuickFix - PullRequest
1 голос
/ 17 февраля 2012

Я отправляю сообщение MarketDataSnapshotFullRefresh клиентскому приложению, но получаю сообщение «Тег появляется более одного раза» в методе toAdmin.Необработанная строка сообщения, которую я получаю:

8=FIX.4.2|9=111|35=3|34=222|49=CLIENT1|52=20120217-18:57:44.233|56
=FixServer|45=189|58=Tag appears more than once|371=37|372=W|10=234|

У кого-нибудь есть идея?

  QuickFix42.MarketDataSnapshotFullRefresh message =
       new QuickFix42.MarketDataSnapshotFullRefresh(new Symbol("QF"));

  QuickFix42.MarketDataSnapshotFullRefresh.NoMDEntries group =
          new QuickFix42.MarketDataSnapshotFullRefresh.NoMDEntries();

        group.set(new MDEntryType('0'));
        group.set(new MDEntryPx(12.32));
        group.set(new MDEntrySize(100));
        group.set(new OrderID("ORDERID"));
        message.addGroup(group);

        group.set(new MDEntryType('1'));
        group.set(new MDEntryPx(12.32));
        group.set(new MDEntrySize(100));
        group.set(new OrderID("ORDERID"));
        message.addGroup(group);

        Session.sendToTarget(message, session);

Ответы [ 2 ]

3 голосов
/ 10 октября 2012

Это похоже на повторяющуюся групповую проблему.Ваш клиент обрабатывает сообщение «Снимок» как плоское сообщение без групп, а затем отклоняет его из-за повторяющихся тегов.(Код построения вашего сообщения выглядит правильно.)

Когда клиент не распознает группы, это обычно означает, что DataDictionary настроен неправильно.

Убедитесь, что в вашей конфигурации установлено следующееподозреваю, что эта конкретная проблема исчезнет:

UseDataDictionary=Y
DataDictionary=path/to/your/DD.xml
2 голосов
/ 07 сентября 2012

Ваша проблема заключается в вашем словаре данных - ваш файл FIX42.xml должен иметь правильное определение для MarketDataSnapshotFullRefresh с блоком компонента, определенным для повторяющейся группы MDEntries. Также убедитесь, что ваш файл конфигурации имеет «UseDataDictionary = Y» и чтоопределен путь к вашему пользовательскому файлу FIX42.xml.

Также возможно, что порядок полей, определенных в вашем XML-файле, не совпадает со спецификацией вашего контрагента.Убедитесь, что они в том же порядке.

...