connamara / quickfixn

QuickFIX/n implements the FIX protocol on .NET.
http://quickfixn.org
Other
478 stars 562 forks source link

GroupDelimiterTagException : Group X 's first entry does not start with delimiter #858

Closed neerajozha closed 5 months ago

neerajozha commented 5 months ago

We are using QuickFix.Net.NETCore.FIX44(.Net Core) for our application to connect with ICE and implement the FIX messages.

We are subscribing to the Security Definition messages using the same and are receiving the Security Definition Responses as well.

The responses are getting parsed properly, however for some of the Security Definition response messages, we see a Reject message being sent to ICE (details below):

Group 711's first entry does not start with delimiter

8=FIX.4.4 9=149 35=3 34=25 49=XXXXXX 50=XXXX 52=20240612-02:00:41.198 56=ICE 45=14 58=Group 711's first entry does not start with delimiter 363 371=711 372=d 373=99 10=097, SessionID : FIX.4.4:XXXXXX->ICE

The dictionary of my client set tag 311 as Required but that didn't help.

I tried looking at the other thread with same issue, which suggest to check with the FIX message sender (which is ICE in our case).

We had discussed this with ICE, but ICE clarified that there is no issue at their end and this needs to be addressed from the Application side only.

Any help will be greatly appreciated. Thanks in advance.

gbirchmeier commented 5 months ago

First of all, QuickFix.Net.NETCore.FIX44 is not an official release from us. Our project is not named ".NET". Some rando made that 5 years ago, and it's a really old build. I recommend you move to a recent official build.

Second, Github issues are for bugs and features, not QF support. Please see https://quickfixn.org/help/ for the appropriate avenues.

To your issue: Are you connecting to the ICE Trade Capture interface? I have tons of experience with the ICE TC interface. I know firsthand that QF/n will work fine with the ICE TC interface, if your config is correct and your DD has been updated to match the message definitions in the ICE FIX Trade Capture Reference Manual (current version is 4.18).

It looks like you are not reading your error message accurately. The full message is:

Group 711's first entry does not start with delimiter 363
                                                      ^^^

This really confuses me. 363 is not 711's delimiter in any DD that I've ever seen. But this message would imply that 363 is configured as 711's delimiter in your DD, which would be super-incorrect.

(Also, did the log you pasted come from Console.Write statements? Don't use that! They won't be accurate if there's a transport-layer issue or a parsing problem. Only look at FIX message logs!)

I recommend that you: 1) upgrade to the latest QF/n 2) double check your DD 3) post followup questions on StackOverflow or the QF/n mailing list

gbirchmeier commented 5 months ago

Ah, I see you did post to the mailing list. Thanks for that. We will continue over there.