擅长:python、mysql、java
<p>你的理解是正确的。字段<code>DefaultApplVerID(1137)</code>的检查是在QuickFix的引擎中硬编码的,因为它是必需的,如@Christian Quisbert的标题规范所述。在</p>
<p>我没有Python版本的QuickFix,只有Java版本。但我认为实现应该相互协调,没有太大的差异。在</p>
<p>如果看一下Java版本中<code>quickfixj-core</code>(我指的是<em>quickfix-2.1.0</em>)项目下的<code>Session.java</code>,有一个方法名为:</p>
<pre><code>private void next(Message message, boolean isProcessingQueuedMessages) throws FieldNotFound, RejectLogon, IncorrectDataFormat, IncorrectTagValue, UnsupportedMessageType, IOException, InvalidMessage { ... }
</code></pre>
<p>从<em>第953行</em>开始,有一个用于处理回复<strong>登录</strong>消息的代码部分,如下所示:</p>
^{pr2}$
<p>这意味着,如果<code>BeginString(8)</code>等于<code>FIXT.1.1</code>,并且您不能简单地通过配置跳过此验证,则quickfixj引擎预期传入登录响应中存在字段{<cd1>}。在</p>