How to add optional FIX header fields to outgoing messages using the StreamBase High Performance FIX engine

How to add optional FIX header fields to outgoing messages using the StreamBase High Performance FIX engine

book

Article ID: KB0074036

calendar_today

Updated On:

Products Versions
TIBCO Streaming 7

Description

A FIXT.1.1 FIX session supports the additional header fields (tags) ApplVerID(1128), ApplExtID(1156), and CstmApplVerID(1129) which can only appear in Application message headers. These are not allowed in Session (Admin) message headers (Logon(A), Logout(5), Reject(3), ResendRequest(2), SequenceReset(4), TestRequest(1), and Heartbeat(0)).

The TIBCO StreamBase® High-Performance FIX Engine supports FIXT.1.1 (FIX50SP2) by allowing these fields to be included in outgoing messages by including their fields in the tuple to be sent using the FIX Output Adapter. Since these fields are otherwise not defined for Session level messages, they will not appear. The Session level messages are handled by the FIX engine automatically and are typically not sent by the EventFlow application.

An easy way to include these fields when needed is to place a Map operator on the arc just before the FIX Output Adapter on the EventFlow diagram with settings (for example):
User-added image

Note that using a Message Interceptor class to add fields using the getHeaderFields() method will result in the fields being added to ALL messages, including Session messages, which is not allowed. If any of these fields appear in Session level messages the counter-party (FIX venue) will reject the message and may automatically close the session.
 

Issue/Introduction

A venue using the FIXT.1.1 session protocol may require additional Header fields.