私はQuickFIXとPythonを使用して、FIX5.0SP2を処理するfixserverプロセスへの接続を開始しています。接続を開始しようとすると、次のメッセージが表示された後に切断されます。(Message 1 Rejected: Required tag missing:1137)
このタグは、私のfixserverプロセスで必須ではなく、ログオンプロセスから削除しようとしています。私はFIXT11.xmlからそれを削除し、これに対してカスタムxmlを作成しましたが、成功しませんでした。私は何かが恋しいですか?私はあなたがこのファイルの必須から必須でないものに簡単に切り替えることができると思いましたか?ここでQuickFIXログオンプロセスからタグを削除する
は私の設定です:
<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)
を更新:ここで
[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`
フィックスメッセージ付きのQuickFix出力され 私は私の辞書にrequired='N'
にそのフィールド<field name='DefaultApplVerID' required='Y'/>
を変更しようとしましたが、どのなし効果。他のフィールドは非必須フィールドに変更することができ、設定されていない場合はスキップされます。この特定の必須の修正済みの5.0SP2フィールドはハードコードされていますか、必須ではありませんか?
UseDataDictionary = Yに変更しましたが、それでも問題は同じです。 – e30
'DefaultApplVerID'に必要な値が他のメッセージではなく、データ辞書のログオンメッセージでNに設定されていることを確認しましたか? – rupweb