[QFJ-474] Need Suppressing Tag not defined exception Created: 23/Sep/09 Updated: 20/Mar/11 Resolved: 20/Mar/11 |
|
Status: | Closed |
Project: | QuickFIX/J |
Component/s: | Engine |
Affects Version/s: | 1.4.0 |
Fix Version/s: | None |
Type: | Other | Priority: | Default |
Reporter: | Raman | Assignee: | Unassigned |
Resolution: | Fixed | Votes: | 1 |
Labels: | None | ||
Environment: |
java 1.6.0._07 |
Attachments: | diff2.txt |
Description |
Greetings! My configuration is as follows: And yet, all incoming 35=8 messages are being rejected with this error msg What am I doing wrong? Thank you |
Comments |
Comment by Raman [ 27/Sep/09 ] |
I have solved this by modifying Session.java and placing the .class ahead of quickfix.jar. |
Comment by Rhys Yarranton [ 10/May/10 ] |
Discovered the following:
The problem appears to be in the order of steps in the DataDictionary.iterate() method.
Also note that the documentation for AllowUnknownMsgFields is misleading. The 1.4.0 implementation can have an effect regardless of the tag number. Attached a patch which modifies iterate to skip dd.checkValidateTagNumber(field) and checkIsInMessage(field, msgType) if AllowUnknownMsgFields is true. I left dd.checkGroupCount(...) in place. There may be some more fishiness in this area. For example, if you set ValidateUserDefinedFields to false, dd.checkGroupCount(...) will be skipped even if the field is in the data dictionary for the message. Is that right or wrong? It is not clear what the expected behaviour should be, especially given the inaccuracies in the documentation. Please change this from "Other" to "Bug". We have customers who do weird things in production, such as sending us "mystery tags", and much as we might like them to adhere strictly to the spec, it isn't going to happen. So it is imperative that we are able to relax validation sufficiently to handle their behaviour. |