简体   繁体   English

重复组QuickFix的NumInGroup计数不正确

[英]Incorrect NumInGroup count for repeating group QuickFix

I am unable to parse this market data incremental refresh message(fix 4.3): 我无法解析此市场数据增量刷新消息(修复程序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 / j给我以下内容:

quickfix.FieldException: Incorrect NumInGroup count for repeating group, field=268 quickfix.FieldException:重复组的NumInGroup计数不正确,字段= 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. 我知道这是重复的小组问题,但是我不太确定如何更改我的规范以解析此消息。

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. 默认情况下,字段64不是NoMDEntries(268)重复组的一部分。 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. 当解析器达到64时,它认为它已经超过了重复组的末尾,并且该组的第一个也是唯一的项目在前290个结束。

The DataDictionary xml file is quite easy to understand after you've looked at it for a few minutes. 在看了几分钟之后,DataDictionary xml文件非常容易理解。 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. 假设发件人有意将64放入该组,则只需要查找消息X(MarketDataIncrementalRefresh)的定义,并在该组中的适当位置添加字段64(FutSettDate)。 (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. 确保将其添加到290(MDEntryPositionNo)之后,组项中可能出现的任何其他可选字段之前或之后的一行。

I'm guessing that 64 is not the only DD modification your counterparty has made. 我猜想64不是您的交易对手进行的唯一DD修改。 You need to check with your counterparty so that you can make all DD alterations necessary. 您需要与交易对手核对,以便可以进行所有必要的DD更改。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM