user3533333
user3533333

Reputation: 25

QuickFix - Tag not defined for this message - Celer tech

I've seen this questioned asked before here and have applied the suggested solution but am still coming up with

Tag not defined for this message

I'm sending this message :

toapp : 8=FIX.4.4|9=151|35=V|34=2|49=Test|52=20180731-14:35:54.947|56=UAT-Test|55=EUR/USD|63=SP|115=Username|167=FOR|207=XCEL|262=1|263=1|264=0|265=0|461=SPOT|10=074|

and getting this back

toadmin : 8=FIX.4.4|9=134|35=3|34=3|49=Test|52=20180731-14:35:54.982|56=UAT-Test|45=2|58=Tag not defined for this message type|371=264|372=W|373=2|10=090|

The entry in the data dictionary for marketdatarequest is :

<message name="MarketDataRequest" msgtype="V" msgcat="app">
<field name="MDReqID" required="Y"/>
<field name="SubscriptionRequestType" required="Y"/>
<field name="MarketDepth" required="Y"/>
<field name="Symbol" required="Y"/>
<field name="SecurityType" required="Y"/>
<field name="MDUpdateType" required="Y"/>
<field name="CFICode" required="Y"/>
<field name="SettlType" required="Y"/>
<field name="OnBehalfOfCompID" required="N"/>
<field name="SecurityExchange" required="Y"/>
</message>

...

<field number="264" name="MarketDepth" type="INT"/>

All the other FIX implementations I've come across also have NoMDEntryTypes and NoRelatedSym groups which this does not which is strange but this is what the spec requires.

Also am I correct in saying that if I send an toapp message and get the toadmin message back with no fromapp/fromadmin message, does that mean quickfix intercepted the message as incorrectly formed and never sent it?

Upvotes: 0

Views: 1348

Answers (1)

Michael
Michael

Reputation: 44150

The rejection is not for your market data request. I can tell this from tag 372=W in the rejection:

FIX 4.4 : RefMsgType <372> field

The MsgType <35> (35) of the FIX message being referenced.

Source

MsgType W refers to a market data snapshot.

From the information you've given, I can infer that you send a MarketDataRequest (35=V) which presumably works successfully. The server you're connecting to replies with a snapshot (35=W) and your FIX engine then automatically responds to them with a rejection, because their snapshot includes tag 264 which are you not expecting.

Upvotes: 1

Related Questions