我正在向客户端应用程序发送一条消息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);发布于 2012-10-11 03:47:21
这看起来像是一个重复的小组问题。您的客户端将快照消息视为平面无组消息,然后由于重复的标签而拒绝它。(您的消息构造代码显示正确。)
当客户端无法识别组时,通常意味着DataDictionary配置错误。
确保在您的配置中设置了以下内容,我怀疑这个特定的问题将会消失:
UseDataDictionary=Y
DataDictionary=path/to/your/DD.xml发布于 2012-09-07 21:06:22
您的问题出在您的数据字典中-您的FIX42.xml文件应该具有正确的MarketDataSnapshotFullRefresh定义,并且为MDEntries重复group.Also定义了组件块。请确保您的配置文件具有"UseDataDictionary=Y“,并且定义了自定义FIX42.xml的路径。
您的.xml文件中定义的字段的顺序也可能与您的交易对手的规范不同。确保它们的顺序也是一样的。
https://stackoverflow.com/questions/9333885
复制相似问题