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

Logout reason "Incorrect BeginString" on UnsupportedVersion exception is ambiguous

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Default
    • Resolution: Fixed
    • Affects Version/s: 1.3.3
    • Fix Version/s: 1.5.3
    • Component/s: Engine
    • Labels:
      None

      Description

      We had the situation any FIX sessions were immediately logged out with the reason "Incorrect BeginString". But the session was configured to use "FIX.4.4" and the incoming message came with "FIX.4.4" so we wondered why this happened.

      Finally, we found that the configured data dictionary had the wrong FIX version tag which was difficult to find.

      Code Analysis

      • The logout reason "Incorrect BeginString" is sent if the exception UnsupportedVersion is thrown.
      • This exception is sent on two quite different occasions:
        • Incoming BeginString does not match the session configuration.
        • On validate, configured data dictionary does not match the session configuration.
      • In both cases, the same undifferentiated exception is thrown.

      Improvements

      • Provide differentiating reason text to the UnsupportedVersion exception:
        • If the message version does not match the data dictionary version on message validation, then:
          • "Message version ' {1}' does not match the data dictionary version '{2}'"
            ** If the message version does not match the configured FIX session version on incoming messages, then:
            *** "Message version '{1}

            ' does not match the configured FIX session version '

            {2}

            '"

        Attachments

        1. clipboard.txt
          17 kB
          Jörg Thönnes
        2. QFJ-603.patch
          8 kB
          Christoph John

          Issue Links

            Activity

              People

              • Assignee:
                jthoennes Jörg Thönnes
                Reporter:
                jthoennes Jörg Thönnes
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: