简体   繁体   English

如何禁用快速修复验证

[英]How to disable quickfix validation

I need to disable quickfix validation. 我需要禁用快速修复验证。

Setting UseDataDictionary=N does not work. 设置UseDataDictionary = N不起作用。 Removing paths to dictionary files in the config file does not work. 在配置文件中删除字典文件的路径不起作用。 Renaming xml files in the directory to some other extension does not work. 无法将目录中的xml文件重命名为其他扩展名。

Still rejecting messages based on failed validation. 仍基于失败的验证拒绝邮件。

The directory is correct. 目录正确。 Please help! 请帮忙! I'm sure I am missing something trivial. 我确定我缺少一些琐碎的东西。

Thank you! 谢谢!

PS - in reply to some questions: The error I am getting is: 58=Tag specified out of required order 371=143 372=8 PS-回答一些问题:我得到的错误是:58 =指定的标签超出了所需的顺序371 = 143 372 = 8

Indeed, the client is sending tag 143 in the message body, not the header. 实际上,客户端正在消息正文中发送标签143,而不是报头中。 The client will not change the code. 客户端将不会更改代码。 I tried adding tag 143 to the ExecutionReport body, but that did not help. 我尝试将标签143添加到ExecutionReport正文中,但这没有帮助。 I am weary of taking tag 143 out of the header just for these guys. 我讨厌只为这些家伙从标头中取出标签143。

PS - config file: PS-配置文件:

[DEFAULT]
ConnectionType=initiator
ReconnectInterval=60
FileStorePath=store
FileLogPath=log
StartTime=00:00:00
EndTime=00:00:00
UseDataDictionary=N
DataDictionary=/xxxxxx
TransportDataDictionary=/xxxxx
ResetOnLogon=N
DefaultApplVerID=9

[SESSION]
BeginString=FIX.4.4
SenderCompID=xxxxxx
TargetCompID=xxxxxx
SocketConnectHost=xxxxxxxxx
SocketConnectPort=52400
HeartBtInt=30

You can disable this specific check by setting the ValidateFieldsOutOfOrder parameter to N in your configuration file. 您可以通过在配置文件中将ValidateFieldsOutOfOrder参数设置为N来禁用此特定检查。 See Configuring QuickFIX . 请参阅配置QuickFIX

You have to have UseDataDictionary=Y if you have repeating groups, it tells QuickFIX how to handle items in repeated groups. 如果有重复的组,则必须具有UseDataDictionary = Y,它告诉QuickFIX如何处理重复的组中的项目。 "Tag specified out of required order 371=143 372=8" usually means that a header tag is in the message body, a body tag is in the header, a repeating group tag is in the body, a body tag is in a repeated group etc.. Since the client is sending tag 143 in the message body rather than the header you will need to edit the DataDictionary so that that tag appears in the message body instead of the header. “按要求的顺序指定的标签371 = 143 372 = 8” 通常表示邮件标头中包含标头标签,标头中包含正文标签,正文中包含重复组标签,正文重复中包含正文标签由于客户端在邮件正文中而不是在标头中发送标签143,因此您将需要编辑DataDictionary,以便该标签显示在邮件正文中而不是标头中。 Since you can set the DataDictionary on a per connection basis I would strongly recommend that you create a copy of the original dictionary, give it a client specific name and edit that file and then connect it to that connection keeping the original clean. 由于可以在每个连接的基础上设置DataDictionary,因此我强烈建议您创建原始字典的副本,为它指定一个客户端特定的名称并编辑该文件,然后将其连接到该连接以保持原始的干净。

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

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