首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >QuickFIX从登录过程中删除标记

QuickFIX从登录过程中删除标记
EN

Stack Overflow用户
提问于 2017-02-13 21:22:02
回答 1查看 1.2K关注 0票数 1

我正在使用QuickFIX和Python发起一个连接到一个处理FIX5.0SP2的fixserver进程。当我尝试发起连接时,在收到以下消息后收到断开连接:(Message 1 Rejected: Required tag missing:1137)。此标记不是我的fixserver进程所必需的,我正在尝试将其从登录进程中删除。我将其从FIXT11.xml中删除,并为此创建了一个自定义xml,但没有成功。我错过了什么吗?我想你可以很容易地在这个文件中将它们从强制切换到非强制?

下面是我的配置:

代码语言:javascript
复制
[DEFAULT]
ConnectionType=initiator
ReconnectInterval=60
DefaultApplVerID=FIX.5.0SP2
UseDataDictionary=N
ResetOnLogout=Y
ResetOnLogon=Y
AppDataDictionary=/home/foo/Documents/QuickFix/fix_specs/FIX50SP2CustomTags.xml
TransportDataDictionary=/home/foo/Documents/QuickFix/fix_specs/FIXT11CustomTags.xml

[SESSION]
BeginString=FIXT.1.1
ConnectionType=initiator
SenderCompID=FIXSRV
TargetCompID=RTD
ReconnectInterval=30
HeartBtInt=30
StartTime=00:30:00
EndTime=23:30:00
SocketConnectProtocol=TCP
SocketConnectPort=1284
SocketConnectHost=X.X.X.X
FileStorePath=/home/foo/Documents/QuickFix/data
FileLogPath=/home/foo/Documents/QuickFix/logs
ValidateFieldsOutOfOrder=N
ValidateFieldsHaveValues=N
#ValidateUserDefinedFields=N`

以下是带有修复消息的快速修复输出:

代码语言:javascript
复制
<20170213-12:52:41.812, FIXT.1.1:FIXSRV->RTD, event>
  (Created session)
<20170213-12:52:41.813, FIXT.1.1:FIXSRV->RTD, event>
  (Connecting to X.X.X.X on port 1284)
Sent the Admin following message: 8=FIXT.1.1|9=77|35=A|34=1|49=FIXSRV|52=20170213-12:52:41.816|56=RTD|98=0|108=30|141=Y|1137=9|10=140|
<20170213-12:52:41.817, FIXT.1.1:FIXSRV->RTD, outgoing>
  (8=FIXT.1.1|9=106|35=A|34=1|49=FIXSRV|52=20170213-12:52:41.816|56=RTD|50=FIX50|98=0|108=30|141=Y|553=FIX50|554=fix50|1137=9|10=083|)
<20170213-12:52:41.817, FIXT.1.1:FIXSRV->RTD, event>
  (Initiated logon request)
<20170213-12:52:41.820, FIXT.1.1:FIXSRV->RTD, incoming>
  (8=FIXT.1.1|9=000106|35=A|1128=7|49=RTD|56=FIXSRV|34=1|50=FIX50|52=20170213-12:52:41.639|98=0|108=30|141=Y|553=FIX50|554=fix50|10=228|)
<20170213-12:52:41.820, FIXT.1.1:FIXSRV->RTD, event>
  (Message 1 Rejected: Required tag missing:1137)
<20170213-12:52:41.820, FIXT.1.1:FIXSRV->RTD, event>
  (Tried to send a reject while not logged on)
<20170213-12:52:41.820, FIXT.1.1:FIXSRV->RTD, event>
  (Required field missing from logon)
<20170213-12:52:41.820, FIXT.1.1:FIXSRV->RTD, event>
  (Disconnecting)

更新:我尝试在字典中将字段<field name='DefaultApplVerID' required='Y'/>更改为required='N',但没有任何效果。其他字段可以将其更改为非必填,如果未设置,则跳过这些字段。这个特定的强制修复5.0SP2字段是硬编码的,不能是非强制的吗?

EN

回答 1

Stack Overflow用户

发布于 2017-02-14 03:42:21

你有

代码语言:javascript
复制
UseDataDictionary=N

我猜,只要发起者/接受者数据字典是同步的,这就是问题所在。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42205102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档