我正在开发一个使用 QuickFIX for .NET(1.7 版)的应用程序。由于我们的交易对手数据字典中定义的大量自定义字段被我们的 FIX 应用程序拒绝,我决定简单地使用他们的数据字典。
但是,他们有一个导致异常的自定义字段类型“TENOR”,所以我遵循了这个论坛的建议:QuickFIX 交易对手 DataDictionary gieves invalid type exception
并用 STRING 替换 TENOR 类型,如下所示:
<field number="12345" name="tenor" type="STRING"/>
它是<field number="12345" name="tenor" type="TENOR"/>
但是当我们的应用程序再次尝试登录 FIX 主机时,它抛出了异常:“对象引用未设置为对象的实例。”
知道如何解决这个问题吗?谢谢你。
[这里有更多来自异常的堆栈跟踪:]
at QuickFix.DataDictionary.DataDictionary.parseMsgEl(XmlNode node, DDMap ddmap, Nullable`1 componentRequired)
at QuickFix.DataDictionary.DataDictionary.Load(Stream stream)
at QuickFix.SessionFactory.createDataDictionary(SessionID sessionID, Dictionary settings, String settingsKey, String beginString)
at QuickFix.SessionFactory.ProcessFixTDataDictionaries(SessionID sessionID, Dictionary settings, DataDictionaryProvider provider)
at QuickFix.SessionFactory.Create(SessionID sessionID, Dictionary settings)
at QuickFix.AbstractInitiator.CreateSession(SessionID sessionID, Dictionary dict)
at QuickFix.AbstractInitiator.Start()