捕获未通过QuickFix验证的传入FIX消息

时间:2014-04-29 06:57:17

标签: quickfix fix-protocol

Quickfix客户端使用XML spec files验证传入的消息。如果消息验证失败,quickfix会自动发送拒绝响应。在这种情况下,AFAIK quickfix不会为传入消息fromApp()调用标准回调,所以到目前为止,我无法以编程方式捕获这些错误的传入消息并处理它们。

有没有办法捕获未通过quickfix验证的传入FIX消息?

当然它们可能出现在默认的quickfix日志文件中,但我宁愿在我的代码中实时捕获它们。

2 个答案:

答案 0 :(得分:3)

没有。

QuickFIX根本不认为这是一个有用的功能。如果消息无效,QF将执行协议指定的行为,并且应用程序无法或应该执行任何恢复。任何修复都需要开发人员分析和xml和/或代码修复,因此日志文件足以记录问题。

如果您希望在出现此类错误时提供自动警报,我建议您使用某种外部日志监控应用程序来查看35 = 3或35 = j的日志。 (在便宜的一面,cron / grep动作的组合可以很容易地做到这一点。)

答案 1 :(得分:1)

通过XML规范文件进行验证是在会话级处理中。 所以,没有合适的钩子。

另一方面,有一些配置参数;

  • UseDataDictionary:取消验证
  • ValidateUserDefinedFields:消除用户定义的字段验证

look for detailed descriptions

编辑: 如果你的真正问题是监控拒绝,那么在toAdmin()钩子上捕获Reject(3)和BusinessReject(j)消息就足够了。