toc Table of Contents
Overview
IBM MQ Transport Adapter (hereafter MQ TA) is an add-in for FIXServer that allows clients to communicate with FIXServer over IBM MQSeries middleware. The document contains full instructions on how to install MQ TA for testing.
...
Property Name | Default Value | Description | ||
TransportLayer.MQAdaptor.Description | MQ Transport Adapter DLL | Description of the transport adapter. | ||
TransportLayer.MQAdaptor.DllName | bin/MQTAAddin.dll | Path to the transport adapter module. In case this parameter is not specified, the TransportLayer.MQAdaptor.AdapterId is applied to define the adapter's library by ID. | ||
TransportLayer.MQAdaptor.AdapterId |
The parameter to define the adapter's library by ID. In case this parameter is not specified or TransportLayer.MQAdaptor.DllName parameter is specified too, the TransportLayer.MQAdaptor.DllName is applied. Required value: MQ | |||
TransportLayer.MQAdaptor.TimeIntervalBeforeReconnect | 1000 | Time interval in milliseconds between reconnect attempts. | ||
TransportLayer.MQAdaptor.StorageDirectory | FixEdge1/log | Required. Logging directory for storage of outgoing messages. | ||
TransportLayer.MQAdaptor.BufferSizeForMessage | 65536 | Message buffer size. The max value is 4194304. 0 means a default value 64 * 1024. | ||
TransportLayer.MQAdaptor.MQ_HOSTNAME | localhost | MS Series Server hostname. | ||
TransportLayer.MQAdaptor.MQ_PORT | 1414 | MS Series Server port. | ||
TransportLayer.MQAdaptor.MQ_MANAGER_NAME | TestMQ | MS Series manager name. | ||
TransportLayer.MQAdaptor.MQ_CHANNEL_NAME | TestConnection | MS Series Channel name. | ||
TransportLayer.MQAdaptor.MQ_CCSID | 437 | MS Series Server CCSID. The coded character set identifier to use with the WebSphere MQ queue. | ||
TransportLayer.MQAdaptor.SslKeyRepository | /var/mqm/ssl/key | Path to SSL certificate storage file without extension (SCKR, MQSSLKEYR) e.g. /var/mqm/ssl/key or C:\\Program Files\\IBM\\WebSphere MQ\\ssl\\key. | ||
TransportLayer.MQAdaptor.SslCipherSpecification | TRIPLE_DES_SHA_US | SSL CipherSpec name (SSLCIPH), required to use SSL, e.g. TRIPLE_DES_SHA_US. | ||
TransportLayer.MQAdaptor.SslClientAuthentication | false | Remote peer authentication (SSLCAUTH). | ||
TransportLayer.MQAdaptor.SslPeerName | CN=QMGR.*, OU=IBM, OU=WEBSPHERE | Remote peer DN filter (SSLPEER). | ||
TransportLayer.MQAdaptor.WaitIntervalForGet | 1000 | Time interval in milliseconds to wait between polling messages on MQ Series Server. | ||
TransportLayer.MQAdaptor.NumAttemptReconnect | 10 | The number of reconnect attempts to the MQ Series Server. | ||
TransportLayer.MQAdaptor.SessionNumber | 1 | The number of sessions with MQ Series. Each session is a set of MQ Series queues. | ||
TransportLayer.MQAdaptor.Session.<SessionNumber>.ClientID | MQClient | MQ session ID. | ||
TransportLayer.MQAdapter.Session.<SessionNumber>.FIXVersion | FIX44 | In every session, FIX messages use a particular version of the FIX protocol. Use this parameter to set the version of the FIX protocol for a given session. Valid values: | ||
TransportLayer.MQAdaptor.Session.<SessionNumber>.SmartXMLProcessor | true | Enables mode of processing XML/FIXML messages:
| ||
TransportLayer.MQAdaptor.Session.<SessionNumber>.ToClientQueue | MQClient_to | The name for the Queue dedicated for messages coming from clients to MQ via FIXEdge C++. | ||
TransportLayer.MQAdaptor.Session.<SessionNumber>.FromClientQueue | MQClient_from | The name for the Queue dedicated for messages coming from MQ to clients via FIXEdge C++. | ||
TransportLayer.MQAdaptor.Session.<SessionNumber>.ErrorQueue | MQClient_error | The name for the Queue dedicated for messages, which cannot be handled because of errors. | ||
TransportLayer.MQAdaptor.Session.<SessionNumber>.SenderID | - | Optional. SenderCompID (Tag = 49) in the received message is set to the property value. | ||
TransportLayer.MQAdaptor.Session.<SessionNumber>.TargetID | - | Optional. TargetCompID (Tag = 56) in the received message is set to the property value. | ||
TransportLayer.MQAdaptor.Session.<SessionNumber>.MessageDataFormat | MQFMT_NONE |
Optional. Defines the format of the message data to be sent to IBM MQ via the IBM MQ TA session. Ignored for incoming messages. Valid values: MQFMT_NONE | MQFMT_STRING | ||
TransportLayer.MQAdaptor.Session.<SessionNumber>.LogIncomingMessages | false |
Optional. Defines whether incoming messages from IBM MQ that were correctly parsed and routed to BL will be stored in the MQ-<ClientID>-Incoming_<Timestamp>.out file. The MQ-<ClientID>-Incoming_<Timestamp>.out file will be created in the TransportLayer.MQAdaptor.StorageDirectory directory regardless of the value of the LogIncomingMessages property. Valid values: true | false | ||
TransportLayer.MQAdaptor.Session.<SessionNumber>.FromClientDropMessageFilter | - | Optional. Defines a regular expression (perl syntax) to drop matched messages coming from MQ. | ||
TransportLayer.MQAdaptor.Session.<SessionNumber>.SmartXMLProcessorFromClientMessageFilter | - | Optional. Defines a regular expression (perl syntax) to apply SmartXMLProcessor to matched messages coming from MQ. Overrides default filter: case insensitive "<\?xml version.*|<FIXML.*" | ||
TransportLayer.MQAdaptor.Session.<SessionNumber>.SendForceCommitTimeMs | 0 |
Optional. This property determines the maximum duration that can elapse before a transaction is forcibly committed to IBM MQ. It acts as a timer that starts after the start of the transaction. Once this timer exceeds the period defined by SendForceCommitTimeMs, if there are uncommitted messages, a commit operation is triggered. Valid values:
| ||
TransportLayer.MQAdaptor.Session.<SessionNumber>.ReceiveForceCommitTimeMs | 0 |
Optional. This property determines the maximum duration that can elapse before a transaction is forcibly committed from IBM MQ. It acts as a timer that starts after the start of the transaction. Once this timer exceeds the period defined by ReceiveForceCommitTimeMs, if there are uncommitted messages, a commit operation is triggered. Valid values:
|
Configuration Sample
The following configuration describes the basic FIX to MQ conversion message flow.
...
MQ TA has not supported the authentication in IBM MQ Server.
It can lead to failure in MQ TA initialization with the error records in the log:
...
Log in to the remote server where MQ Instance is running.
Open cmd.
Run the 'runmqsc'. Check if connected to the correct QM:
Execute 'ALTER QMGR CHLAUTH(DISABLED)':
Try to reestablish connection by clicking 'No' in the dialog:
And Finish in the dialog:
- If the error is still here, look at Channel authentication records and make sure that your account is not in the Block User List:
- Try again steps 5-6.
Also, you can find how to disable IBM MQ authentication on the official site.