{{Quickfixn}} Field 35 not found when connecting using FIX.5.0SP2

Grant Birchmeier gbirchmeier at connamara.com
Tue Nov 8 08:55:40 PST 2022


(Is QuickFix/n 1.10*.1*.0 a typo?  The latest is just 1.10.0)

This is weird.  It looks like this is happening when your app tries to
construct and send the logon message to the counterparty.  Do you agree
with that observation?

If that is correct, then the MessageCracker is not to blame-- it's not even
used yet when this error occurs.  If your app doesn't send a Logon, then
the counterparty won't send a Logon back or any other messages, so there's
nothing to crack.

I'm a little stumped as to why this could happen.  This whole process
should be happening internally in the engine.  (I'm not even sure how a dev
could doink it up with weird app code.)

Let me ask around.  Please reply if you get any other ideas.

On Mon, Nov 7, 2022 at 12:18 PM Francis Gingras <francis at collective2.com>
wrote:

> Hi,
>
> I am having trouble connecting to a counterparty using FIX.5.0SP2 with
> QuickFix/n 1.10.1.0. I must be missing something obvious, but I can't see
> it. I get "QuickFix.FieldNotFoundException: field not found for tag: 35".
>
> Config file:
> [DEFAULT]
> ConnectionType=initiator
> BeginString=FIXT.1.1
> DefaultApplVerID=FIX.5.0SP2
> TransportDataDictionary=FIXT11.xml
> AppDataDictionary=FIX50SP2.xml
> ReconnectInterval=30
> FileStorePath=C:\Store
> FileLogPath=C:\Fix
> HeartBtInt=20
> LogonTimeout=15
> TimeZone=Eastern Standard Time
> IgnorePossDupResendRequests=Y
> StartTime=16:45:00
> EndTime=18:00:00
> StartDay=sun
> EndDay=fri
> UseDataDictionary=Y
> ValidateUserDefinedFields=N
> ValidateFieldsHaveValues=N
> ResetOnLogout=N
> ResetOnDisconnect=N
> CheckLatency=N
> RequiresOrigSendingTime=N
> PersistMessages=Y
> [SESSION]
> SenderCompID=APItest
> TargetCompID=FIX1
> SocketConnectHost=blabla
> SocketConnectPort=7002
>
> Code:
> SessionSettings sessionSettings = new
> SessionSettings($@"{QuickFIXSettingsFileName}");
> QuickFix.FIX50SP2.MessageFactory messageFactory = new
> QuickFix.FIX50SP2.MessageFactory();
> FileStoreFactory storeFactory = new FileStoreFactory(sessionSettings);
> FileLogFactory logFactory = new FileLogFactory(sessionSettings);
> socket = new QuickFix.Transport.SocketInitiator(this, storeFactory,
> sessionSettings, logFactory, messageFactory);
> socket.Start();
>
> QuickFix.MessageCracker interface is implemented, but I do not get any
> messages there. Is there a different interface I must implement for FIX5?
>
> FIXT.1.1- APItest-FIX1.event.current.log:
> Connection succeeded
> Unexpected exception: QuickFix.FieldNotFoundException: field not found for
> tag: 35
>    at QuickFix.FieldMap.GetString(Int32 tag)
>    at QuickFix.Session.SendRaw(Message message, Int32 seqNum)
>    at QuickFix.Session.GenerateLogon()
>    at QuickFix.Session.Next()
>    at QuickFix.Transport.SocketInitiator.SocketInitiatorThreadStart(Object
> socketInitiatorThread)
>
> File store only has data in the session file:
> 20221107-16:41:39.692332 Z
>
> The dictionary file has the standard 5.0 definition for Logon:
>     <message name="Logon" msgtype="A" msgcat="admin">
>       <field name="EncryptMethod" required="Y"/>
>       <field name="HeartBtInt" required="Y"/>
>       <field name="RawDataLength" required="N"/>
>       <field name="RawData" required="N"/>
>       <field name="ResetSeqNumFlag" required="N"/>
>       <field name="NextExpectedMsgSeqNum" required="N"/>
>       <field name="MaxMessageSize" required="N"/>
>       <component name="MsgTypeGrp" required="N"/>
>       <field name="TestMessageIndicator" required="N"/>
>       <field name="Username" required="N"/>
>       <field name="Password" required="N"/>
>       <field name="NewPassword" required="N"/>
>       <field name="EncryptedPasswordMethod" required="N"/>
>       <field name="EncryptedPasswordLen" required="N"/>
>       <field name="EncryptedPassword" required="N"/>
>       <field name="EncryptedNewPasswordLen" required="N"/>
>       <field name="EncryptedNewPassword" required="N"/>
>       <field name="SessionStatus" required="N"/>
>       <field name="DefaultApplVerID" required="Y"/>
>       <field name="DefaultApplExtID" required="N"/>
>       <field name="DefaultCstmApplVerID" required="N"/>
>       <field name="Text" required="N"/>
>       <field name="EncodedTextLen" required="N"/>
>       <field name="EncodedText" required="N"/>
>     </message>
>
> <Monkey scratching his head>
>
> Thanks!
>
> Francis Gingras
>
> _______________________________________________
> Quickfixn mailing list
> Quickfixn at lists.quickfixn.com
> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>


-- 
Grant Birchmeier
Connamara Systems, LLC
http://connamara.com

-- 
This email, along with any attachments, is confidential. If you believe you 
received this message in error, please contact the sender immediately and 
delete all copies of the message. Thank you from Connamara Systems, LLC.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/attachments/20221108/83e09e4a/attachment-0002.htm>


More information about the Quickfixn mailing list