FIX Sessions

Premium feature

Manual FIX sessions allow you to launch and control FIX sessions directly from your web browser. They're useful for one-off testing into non-prod environments, or for any time you want a FIX session where you need precise control over which messages are sent.

Sessions are available under the Tools tab of a FIX spec, by selecting All Sessions on the left-hand sidebar.

location of sessions tab

Creating a session

Creating sessions requires the Fixdev Agent to be running locally on your desktop.

Creating an initiator

A FIX initiator is used when you already have a FIX acceptor (server) listening elsewhere. The initiator creates the TCP connection, and it's expected that it sends the first Logon (35=A) message to establish a session.

Initiator configuration propertyDescription
HostThe hostname of the machine to connect to
PortThe port of the machine to connect to
Heartbeat automatically

Whether to send automatic heartbeats after a successful FIX logon has occurred. Usually there's no reason to disable this, unless you're testing something involving missing heartbeats.

Once a session's been created, you can toggle this value on the session's "Settings" tab

Logon automaticallyWhether to send a Logon message after the TCP connection has been established. If this option is enabled, both Comp IDs and heartbeat interval are required. This message consists of a conventional set of fields. If a specific set of fields are required, then disable this setting and send a logon manually
Sender Comp IDUsed in the automatic Logon message
Target Comp IDUsed in the automatic Logon message
Heartbeat intervalUsed in the automatic Logon message. The number of seconds of inactivity after which to send a heartbeat

Creating an acceptor

An acceptor is a FIX server. Acceptors listen on a given port and can accept one or more FIX connections from initiators.

Unlike a traditional FIX server, Fixdev acceptors will accept FIX sessions using Comp IDs that already have an active session; there is no constraint that a Comp ID can only have one active session.

Active acceptors are listed on the All Sessions page. You can stop an acceptor by clicking it, and selecting Stop on the dropdown menu. Stopping an acceptor prevents it from accepting any more connections, but does not kill any connections that were created from it.

stopping an acceptor
Acceptor configuration propertyDescription
PortThe port of the local machine to listen on
Heartbeat automatically

Whether to send automatic heartbeats after a successful FIX logon has occurred. Usually there's no reason to disable this, unless you're testing something involving missing heartbeats.

Once a session's been created, you can toggle this value on the session's "Settings" tab

Respond to logon automatically

Whether to send an automatic Logon reply after the connection has been established, and a Logon has been received.

This reply consists of a conventional set of fields. If a specific set of fields are required, then disable this setting and send a logon manually

Sender Comp ID (optional)

The Comp ID of the local side (this, the accepting side) of the connection. Providing a value sets the expectation that the Target Comp ID of any Logon message received must match this value. If it doesn't match, the connection will automatically killed.

If blank, the Comp ID of the local side of the connection will be inferred from whatever value is included in the Target Comp ID of the first Logon message

Target Comp ID (optional)

The Comp ID of the remote side (the initiating side) of the connection. Providing a value sets the expectation that the Sender Comp ID of any Logon message received must match this value. If it doesn't match, the connection will automatically killed.

If blank, the Comp ID of the remote side of the connection will be inferred from whatever value is included in the Sender Comp ID of the first Logon message

Session panels

When managing a session, the top panel allows you to see details about the session, send messages, and alter session settings.

The bottom-left panel shows a log of the FIX messages that have been sent and received. The bottom-right panel shows the details of the selected FIX message, if any is selected.

Filtering messages

The list of displayed FIX messages can be filtered using the Filters tab above the message list.

FIX log filters

The Message Type filter allows you to exclude messages unless they match one of the selected types. You can also quickly exclude a single message type by right-clicking on a message and selecting Hide all {type} messages.

The Sending Time filter can be used to show a message only if it was sent between the specified times. Both time fields are optional — if only one is used, it will act as an upper or lower bound.

When messages are filtered, the info bubble on the Messages tab changes to the format "5/20". In that example, 5 messages match the filter criteria, and 15 have been filtered out.

Viewing a single message

You can view the content of a message by clicking on it in the list. When a message is selected, its content appears in the right-hand panel.

FIX message view

The Fields tab shows a breakdown of the message. The info bubble lists the total number of fields in the message.

Repeating groups can be expanded () or collapsed () to help locate specific fields more easily.

The Raw tab displays the FIX message in its raw form, showing the unparsed bytes of the message.

The Issues tab lists any issues with the selected message, such as fields that are not defined by the current specification.

You can use the up and down arrow keys to move between messages.

Sending messages

To send a message, select the Send tab on the top panel. You can read the docs for the message builder for a detailed explanation of how to configure messages.

Settings

Configuration propertyDescription
Heartbeat automatically

Whether to send automatic heartbeats after a successful FIX logon has occurred. Usually there's no reason to disable this, unless you're testing something involving missing heartbeats.

Enabling this option after the session is logged on will cause an immediate heartbeat to be sent