Uploaded image for project: 'QuickFIX/J'
  1. QuickFIX/J
  2. QFJ-535

ValidateFieldsOutOfOrder=N not applied on all message levels

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.4.0
    • Fix Version/s: 1.5.1
    • Component/s: Engine
    • Labels:
      None
    • Environment:
      All

      Description

      QuickFIX configuration flag ValidateFieldsOutOfOrder=N has been applied. Although QuickFIX/J should ignore field ordering on all repeating group levels (as specified by ValidateFieldsOutOfOrder=N), some session rejects from the engine have been observed by the clients and in internal test, which reject FIX messages because of improper field ordering (example: reversed order of PartyIDSource (447) and PartyRole (452) in the Parties group). After reviewing the QuickFIX/J source code, it has been established that the cause of the problem is that the flag is not propagated properly to second and higher groups levels in the recursive validation of the FIX message.

      Fixed: propagate the flag properly.

      public void setCheckFieldsHaveValues(boolean flag) {
      checkFieldsHaveValues = flag;
      for(GroupInfo gi : groups.values())

      { // ******* ADDED ******* gi.getDataDictionary().setCheckFieldsHaveValues(flag); }

      }

      (Internal reference: IC_58606)

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                sse SSE
              • Votes:
                2 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: