Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Correctlly formated message causing internal exception when validating before sending it to our code #778

Closed
adairvargas opened this issue Jun 14, 2023 · 1 comment

Comments

@adairvargas
Copy link

adairvargas commented Jun 14, 2023

Hello QuickFix Team

Currently we are working on a system to process allocation confirmations (Message started by a J message). We are having an issue with a specific message that is causing the internal QuickFix thread before we can control the exception.

When we receive the initial J message, we process it with no issue, but when we receive the final responses in the flow, an AU message, from the routing party, we see that the NoHops group in the header appears to be not correctly processed.
Here the messages:

Correctly processed:
8=FIX.4.4�9=503�35=J�56=FINA44�115=BLKALD44�50=BLKALD44�627=1�628=ATR�629=20230614-13:26:15�630=862 �34=1259�49=REFIN44�52=20230614-13:26:14�70=G1010018643�71=0�626=1�857=0�54=1�55=VOD�48=GB00BH4HKS39�22=4�167=CS�225=19881026�107=VODAFONE GROUP PLC�53=10.0�423=2�6=0.83000000�15=GBP�453=2�448=BLKSUS30TST�447=D�452=13�448=549300E7R8O8EHE8SN83�447=N�452=1�75=20230613�60=20230613-00:00:00.000�64=20230615�381=8.30�118=8.35�78=1�79=E_QISEM�80=10.0�467=42823-590993�12=0.01�13=3�154=8.35�136=1�137=0.04�138=GBP�139=7�891=0�10=212�

Causes Exception:
8=FIX.4.4�9=213�35=AU�56=FINA44�115=BLKALD44�50=BLKALD44�627=1�628=ATR�629=20230614-16:39:40�630=2264�34=1706�49=REFIN44�52=20230614-16:39:39�664=CID_00014�75=20230613�60=20230614-16:39:40�940=2�58=This trade has been confirmed.�10=237�

The exception is:
Session FIX.4.4:FINA44->REFIN44 disconnecting: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. at System.Collections.Generic.Dictionary``2.get_Item(TKey key) at QuickFix.DataDictionary.DataDictionary.Iterate(FieldMap map, String msgType) at QuickFix.DataDictionary.DataDictionary.Validate(Message message, DataDictionary sessionDataDict, DataDictionary appDataDict, String beginString, String msgType) at QuickFix.Session.Next(MessageBuilder msgBuilder) at QuickFix.Session.NextMessage(String msgStr) at QuickFix.SocketInitiatorThread.ProcessStream() at QuickFix.SocketInitiatorThread.Read()

Right now we had to put UseDataDictionary=N, ValidateFieldsOutOfOrder=N and also the temp fix mentioned in the issue 709.

@adairvargas adairvargas changed the title Correctlly formated message causing internal exception when validatin before sending it to our code Correctlly formated message causing internal exception when validating before sending it to our code Jun 15, 2023
@gbirchmeier
Copy link
Member

This is #313. QF/n doesn't process repeating groups in the header (and NoHops is the only one of those).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants