In this section:
Overview
The Parasoft FIX Message Listener enables a virtual asset to receive and respond to messages over FIX (Financial Information eXchange). FIX versions 4.0 - 5.0 SP2 and ICE 4.8 are supported.
Requirements
- One of the following FIX Message Formats: 4.0, 4.1, 4.2, 4.4, 5.0, 5.0 SP2, or ICE 4.8. You can download a format from the Parasoft customer portal.
- The FIX Transport is required for FIX transport support in SOAtest messaging client tools.
Installation
The tool can be installed from the UI or command line.
UI Installation
- Choose Parasoft > Preferences and click the System Properties category.
- Click Add JARs and choose the FIXListener.jar file. Once this jar file is added to the SOAtest/Virtualize classpath, all of the required dependencies will be loaded.
- Repeat this process to install any FIX formats you are using.
- Restart SOAtest/Virtualize.
Command Line Installation
Add the FIXListener.jar file to the system.properties.classpath
property in your settings properties file. For example:
system.properties.classpath=<path to jar>/FIXListener.jar
Once the classpath is modified, all of the required dependencies will be loaded.
Usage
Once the FIX message listener is installed, FIX will be available in the Transports> Custom tab of the Virtual Asset configuration panel. Open this panel by double-clicking a virtual asset’s Virtualize Server node.
If multiple custom listeners are available, you can select the one you want to use from the Select Implementation box:
Configuration
You can configure the following settings.
Settings Options
Either Acceptor settings path or Socket accept port is required. Logging level is optional.
Accepter settings path | Specify the absolute path to the cfg properties file that defines how the FIX engine in the Virtualize server should accept connections from clients. You can review example acceptor cfg file below. For a detailed definition of the properties, see the following documentation: https://www.quickfixj.org/usermanual/1.5.3/usage/configuration.html Either Acceptor settings path or Socket accept port is required. |
---|---|
Socket accept port | If specified, the FIX engine will accept connections on this port and the other acceptor property values would assume default values. In particular, the option would accept requests of any |
Reset persistent message store upon re-deploy | If set to Default is |
Logging level | The logging level. You can enter 0 (least verbose), 1 or 2 (most verbose). This is optional. |
Example Acceptor cfg File
The following is an example acceptor cfg file.
[default] FileStorePath=/tmp/fix/virt/acceptor FileLogPath=/tmp/fix/logs ConnectionType=acceptor StartTime=00:00:00 EndTime=00:00:00 HeartBtInt=30 ReconnectInterval=60 SenderCompID=VIRT TargetCompID=CLIENT UseDataDictionary=Y ValidateIncomingMessage=N RejectInvalidMessage=N ResetOnLogon=Y [session] BeginString=FIX.4.4 SocketAcceptPort=9889 DataDictionary=FIX44.xml
Recording Options
The Recording? option must be enabled for all other options to be applicable. If recording is enabled, the Proxy initiator settings path and TargetCompID options are required.
Recording? | Enables/disables recording. Enter If recording is enabled, responders are not used and Virtualize will connect to another FIX engine for the response, instead. |
---|---|
Proxy initiator settings path | Specify the absolute path to the cfg properties file that defines how Virtualize should initiate connections to the FIX engine. An example initiator cfg file is provided below. For a detailed definition of the properties, see the following documentation: https://www.quickfixj.org/usermanual/1.5.3/usage/configuration.html |
TargetCompID | The target comp ID that is used to identify the FIX client application. |
Proxy response timeout | The number of milliseconds that Virtualize should wait for request responses. The default is 30000 . |
Number of responses to wait for | The number of responses that this request is expected to trigger—and that Virtualize should wait for. The default is 1 . |
Record and return all responses | If the value specified in the Number of responses to wait for option is greater than 1 , this option determines whether all responses should be returned by Virtualize. Enter y for yes. Enter n for no and only the last response received will be returned. The default is n . |
Traffic file path | The absolute path to the file that should record the traffic being passed between the actual client and the FIX engine. |
Example Initiator cfg File
The following is an example initiator cfg file. In the FIX request message, SenderCompID
and TargetCompID
must match the corresponding values in the initiator cfg file.
[default] #FileStorePath=/tmp/fix/virt/initiator #FileLogPath=/tmp/fix/logs ConnectionType=initiator StartTime=00:00:00 EndTime=00:00:00 HeartBtInt=30 ReconnectInterval=60 SenderCompID=CLIENT TargetCompID=VIRT UseDataDictionary=Y #ValidateIncomingMessage=N #RejectInvalidMessage=N SocketConnectHost=localhost ResetOnLogon=Y [session] BeginString=FIX.4.4 SocketConnectPort=9889 DataDictionary=FIX44.xml
Third-party Content
This extension includes items that have been sourced from third parties as outlined below.
- QuickFIX/J (QuickFIX License)
- Apache Mina (Apache License)
- SLF4J (MIT License)
Additional license details are available in this plugin's licenses folder.