Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Overview

For a FIX session to work, one or more FIX protocols are required.

To make sure incoming messages satisfy the defined protocols, the messages are checked and validated by parsers. Parsers contain combinations of FIX dictionaries.

...

...

When using out-of-the-box standard dictionaries, list files with dictionaries in the DictionariesFilesList parameter in the engine.properties file.

...

To assign a parser to a specific session in the FIXEdge.properties file, add the parser 'id' to the Version parameter (FixLayer.FixEngine.Session.Session_Name.Version).

...

The diagram below describes how to use the out-of-the-box standard dictionary versions FIX4x and FIX5x.

Drawio
bordertruefalse
diagramNameDiagram 1
simpleViewerfalse
width
linksauto
tbstylehidden
diagramDisplayName
lboxtruefalse
diagramWidth1421
revision1

...

To use a custom protocol version based on the all-in-one FIX4x, register the custom dictionary in the DictionariesFilesList and AdditionalParsersList parameters in the engine.properties file.

...

  • id="FIX44Custom" - The version name defined by the user that should be used as the Version parameter for the session.
  • fixversion="4.4" - A reference to the basic FIX protocol version.

Drawio
bordertruefalse
diagramNameDiagram
simpleViewerfalse
width
linksauto
tbstylehidden
diagramDisplayName
lboxtruefalse
diagramWidth1521
revision1

...

To use a custom protocol version based on the application-only FIX5x, register the custom dictionary in the DictionariesFilesList and AdditionalParsersList parameters in the engine.properties file.

...

  • id="MYFIXPARSER" - The version name defined by the user that should be used as the Version parameter for the session.
  • fixversion="5.0" - A reference to the basic FIX protocol version.

The diagram also illustrates using multiple application protocol versions for one session.

Drawio
bordertruefalse
diagramNameDiagram 3
simpleViewerfalse
width
linksauto
tbstylehidden
diagramDisplayName
lboxtruefalse
diagramWidth1731
revision1

...

  • If the value of tag 1137 in the received Logon message is the same as the value of the corresponding session's Version parameter configured in the FIXEdge.properties file, FIXEdge sends a Logon to the counterparty in response.
    Otherwise, FIXEdge C++ sends a Logout with [Text(58)=invalid DefaultApplVerID(1137)] and terminates the transport layer connection.
  • If there is more than one application protocol version in a session's Version parameter, the first in the list is considered as the default application FIX version and is compared to the 1137 tag of the Logon message according to the logic described above for a single value.
  • If the value of the 1137 tag is not specified, FIXEdge C++ sends a Logout with [Text(58)= The following required tag(s) is missing: tag 1137. Error(s) in message A with sequence number <sequence_number>] and terminates the transport layer connection.

Drawio
bordertruefalse
diagramNameDiagram 3
simpleViewerfalse
width
linksauto
tbstylehidden
diagramDisplayName
lboxtruefalse
diagramWidth842
revision1