处理FIX Reject:使用QuickFix/J在RefSeqNum中按序列号检索FIX消息

TT.*_*TT. 2 java quickfix fix-protocol quickfixj

我正在尝试处理FIX Reject(MsgType 35=3),但我不清楚如何检索FIX Reject消息引用的消息.

FIX拒绝MsgSeqNumRefSeqNum字段(标记45)中引用被拒绝的消息.但是,我不知道如何通过序列号获取被拒绝的消息.我认为它应该是可能的,因为FIX引擎可以重新发送序列号范围内的消息(响应重发请求),所以如果引擎可以这样做,那么我应该这样做.

问题:如何在RefSeqNum字段中获取拒绝消息引用的消息?

Kal*_*dre 6

你想以编程方式处理这个失败吗?通常,较低级别的拒绝应该永远不会发生在生产环境中.我一直在测试和手动检查消息时处理它们,以识别实际消息和有问题的标签.

在任何情况下,您都可以通过编程方式获取消息

  1. 首先使用http://quickfixj.org/quickfixj/javadoc/1.5.3/quickfix/Session.html#lookupSession(quickfix.SessionID)查找会话

  2. 使用http://quickfixj.org/quickfixj/javadoc/1.5.3/quickfix/Session.html#getStore()获取与Session关联的MessageStore

  3. 使用http://quickfixj.org/quickfixj/javadoc/1.5.3/quickfix/MemoryStore.html#get(int,int,java.util.Collection)获取实际消息

请注意,在步骤3中,您必须传递与开始和结束序列号相同的序列号.