Incorrect NumInGroup count for repeating group QuickFix

≡放荡痞女 提交于 2019-12-06 09:59:20

问题


I am unable to parse this market data incremental refresh message(fix 4.3):

8=FIX.4.3|9=187|35=X|34=4|49=XDEMO|52=20130224-22:31:05.283|56=demo310262=A|268=2|279=2|269=0|278=0014vd32|55=EUR/USD|290=1|64=20130227|279=0|269=0|278=0014vdb2|270=1.31934|271=1000000|290=1|546=3|10=124

Quickfix/j gives me the following:

quickfix.FieldException: Incorrect NumInGroup count for repeating group, field=268

I know that is a repeating group issue, but I not quite sure how to change my spec in order to parse this message.


回答1:


Group: 268=2|
  Item 1: 279=2|269=0|278=0014vd32|55=EUR/USD|290=1|64=20130227|
  Item 2: 279=0|269=0|278=0014vdb2|270=1.31934|271=1000000|290=1|546=3|

Field 64 is not by default part of the NoMDEntries (268) repeating group. When the parser hits 64, it thinks it has reached past the end of the repeating group, and that the groups first and only item ended at the first 290.

The DataDictionary xml file is quite easy to understand after you've looked at it for a few minutes. Assuming that your sender intentionally wants 64 to be in this group, you simply need to find the definition for message X (MarketDataIncrementalRefresh) and add field 64 (FutSettDate) in its proper place in that group. (This group or part of it may be defined in a component, but I think you'll be able to figure it out.)

Note: The order of fields is important. Make sure you add it on a line after 290 (MDEntryPositionNo) and before or after any other optional fields as appropriate that might appear in a group item.

I'm guessing that 64 is not the only DD modification your counterparty has made. You need to check with your counterparty so that you can make all DD alterations necessary.



来源:https://stackoverflow.com/questions/15058116/incorrect-numingroup-count-for-repeating-group-quickfix

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!