GPP GPP -4 years ago 245
C# Question

QuickFIX counterparty DataDictionary gieves invalid type exception

I am developing a FIX4.4 messaging application in C# and trying to use a counterparty provided data dictionary. In the project I use QuickFIX as a library, and when using the original dictionary provided within the library (FIX44.xml) everything works fine.

However, using such dictionary causes some rejections which, according to the counterparty, should disappear once I switch to their own data dictionary.

Now, when I do that I get the following exception of type 'QuickFix.DictionaryParseException':

"invalid type: TENOR"


Below is my config file, if it might help...

[DEFAULT]
ConnectionType=initiator
ReconnectInterval=20
FileStorePath=store
FileLogPath=log
StartTime=07:00:00
EndTime=00:00:00
UseDataDictionary=Y
ValidateFieldsHaveValues=N
ValidateFieldsOutOfOrder=N
ValidateUserDefinedFields=N
AllowUnknownMsgFields=Y
# DataDictionary=P:\...\FixSource\bin\spec\fix\FIX44.xml
#HttpAcceptPort=0000

[SESSION]
# inherit ConnectionType, ReconnectInterval and SenderCompID from default
BeginString=FIX.4.4
ResetOnLogon=Y
SenderCompID=MyID
TargetCompID=MyCPID
SocketConnectHost=xxx
# SocketConnectHost=yyy
SocketConnectPort=000
HeartBtInt=30
DataDictionary=P:\...\MyCounterpartyDataDictionary.xml


Also, the line that causes the issue in the DD xml is the following:

<field number="6215" name="Tenor" type="TENOR"/>


and another two lines that give the same exception type turned out to be:

<field number="41135" name="OptionExerciseLatestTime" type="LOCALMKTTIME"/>
<field number="41510" name="LegOptionExerciseLatestTime" type="LOCALMKTTIME"/>


Thanks a lot for your help,

GPP

Answer Source

Apparently the quick and dirty solution is the one suggested by Grant i.e. using the string type, it works. Thanks for that.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download