Неподдерживаемый тип сообщения - SecurityList + FIX50SP2 - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь перехватить сообщение - SecurityList (35 = y)

Получение сообщения в файле журнала как:

8=FIXT.1.19=000036635=y49=XXXXXX56=XXXXXX34=352=20190204-10:41:59.758369=2320=1322=R1560=0393=951301=DGCX_PRECIOUS_METALS1300=GOLD_FUTURES893=N146=255=[N/A]48=546822=8167=FUT200=201906541=20190529231=32107=DG-20190529562=1561=115=USD120=USD7555=26555=[N/A]48=546922=8167=FUT200=201904541=20190327231=32107=DG-20190327562=1561=115=USD120=USD7555=26510=180

8=FIXT.1.19=9735=j34=349=XXXXXX52=20190204-10:42:00.29356=XXXXXX45=258=Unsupported Message Type372=y380=310=178

Первое - не удалось перехватить это сообщение вМетод fromApp ().

Второй - использование message cracker, взломать его как, но не в этом методе:

public void onMessage(SecurityList message, SessionID sessionId)
              throws FieldNotFound, UnsupportedMessageType, IncorrectTagValue {
        log.info("Recieved SecurityList");
    }

XML-файл выглядит так, как будто имеет ту же последовательность сообщений, что и эта:

<message name='SecurityList' msgtype='y' msgcat='app'>
   <component name='ApplicationSequenceControl' required='N' />
   <field name='SecurityReportID' required='N' />
   <field name='ClearingBusinessDate' required='N' />
   <field name='SecurityReqID' required='N' />
   <field name='SecurityResponseID' required='N' />
   <field name='SecurityRequestResult' required='N' />
   <field name='TotNoRelatedSym' required='N' />
   <field name='MarketID' required='N' />
   <field name='MarketSegmentID' required='N' />
   <field name='LastFragment' required='N' />
   <component name='SecListGrp' required='N' />
   <field name='SecurityListID' required='N' />
   <field name='SecurityListRefID' required='N' />
   <field name='SecurityListDesc' required='N' />
   <field name='EncodedSecurityListDescLen' required='N' />
   <field name='EncodedSecurityListDesc' required='N' />
   <field name='SecurityListType' required='N' />
   <field name='SecurityListTypeSource' required='N' />
   <field name='TransactTime' required='N' />
  </message>

Файл конфигурации:

UseDataDictionary=Y
AppDataDictionary=C:\conf\FIX50SP2.xml

В чем может быть причина.

1 Ответ

0 голосов
/ 05 февраля 2019

Сообщение взломано с использованием Message Cracker, необходимо проверить, взламывает ли класс MessageCracker именно это сообщение.

В старых сообщениях могут отсутствовать некоторые сообщения.

Использование более новой версии quickfix-messages-fix50sp2-2.0.0 jar, в котором класс MessageCracker взломал это сообщение, решило проблему.

...