Versions Compared

Key

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

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.

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.

Info

Starting FixEdge version 6.10.0 it is recommended to use IBM MQ Client library version 8.x.

The older and newer versions may lead to MQ adapters failures

...

Time interval in milliseconds to wait between polling messages on MQ Series Server

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:
FIX40, FIX41, FIX42, FIX43, FIX44, FIX50, FIX50SP1, FIX50SP2Enables mode of processing XML/FIXML messages:
  • For outgoing FIX XML messages (MsgType = n) adapter extracts XML data and then sends data to the MQ client.
  • For incoming XML/FIXML raw data IBM MQ TA wraps data into a FIX XML message (MsgType = n) and then routes the message to FIXEdge C++The name for the Queue dedicated for messages coming from clients to MQ via LogIncomingMessages false15. 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

    FromClientDropMessageFilterOptional. Defines a regular expression (perl syntax) to apply SmartXMLProcessor to matched messages coming from MQ. Overrides default filter: case insensitive "<\?xml version.*|<FIXML.*"
    Property NameDefault ValueDescription

    TransportLayer.MQAdaptor.Description

    MQ Transport Adapter DLLDescription of the transport adapter.

    TransportLayer.MQAdaptor.DllName

    bin/MQTAAddin.dllPath 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



    Info

    This parameter is applicable since FIXEdge C++ 6.14.0 version.

    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

    1000Time interval in milliseconds between reconnect attempts.

    TransportLayer.MQAdaptor.StorageDirectory

    FixEdge1/logRequired. Logging directory for storage of outgoing messages.

    TransportLayer.MQAdaptor.BufferSizeForMessage

    65536Message buffer size. The max value is 4194304. 0 means a default value 64 * 1024.

    TransportLayer.MQAdaptor.MQ_HOSTNAME

    localhostMS Series Server hostname.

    TransportLayer.MQAdaptor.MQ_PORT

    1414MS Series Server port.

    TransportLayer.MQAdaptor.MQ_MANAGER_NAME

    TestMQMS Series manager name.

    TransportLayer.MQAdaptor.MQ_CHANNEL_NAME

    TestConnectionMS Series Channel name.

    TransportLayer.MQAdaptor.MQ_CCSID

    437MS Series Server CCSID. The coded character set identifier to use with the WebSphere MQ queue.

    TransportLayer.MQAdaptor.SslKeyRepository

    /var/mqm/ssl/keyPath 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_USSSL CipherSpec name (SSLCIPH), required to use SSL, e.g. TRIPLE_DES_SHA_US.

    TransportLayer.MQAdaptor.SslClientAuthentication

    falseRemote peer authentication (SSLCAUTH)authentication (SSLCAUTH).

    TransportLayer.MQAdaptor.SslPeerName

    CN=QMGR.*, OU=IBM, OU=WEBSPHERERemote peer DN filter (SSLPEER).

    TransportLayer.MQAdaptor.WaitIntervalForGet

    1000Time interval in milliseconds to wait between polling messages on MQ Series Server.

    TransportLayer.MQAdaptor.NumAttemptReconnect

    10The number of reconnect attempts to the MQ Series Server.

    TransportLayer.MQAdaptor.SessionNumber

    1The number of sessions with MQ Series. Each session is a set of MQ Series queues.

    TransportLayer.MQAdaptor.

    SslPeerName
    CN=QMGR.*, OU=IBM, OU=WEBSPHERERemote peer DN filter (SSLPEER)

    Session.<SessionNumber>.ClientID

    MQClientMQ session ID.

    TransportLayer.MQAdapter.

    MQAdaptor

    Session.<SessionNumber>.

    WaitIntervalForGet

    FIXVersion

    1000FIX44

    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:

    FIX40, FIX41, FIX42, FIX43, FIX44, FIX50, FIX50SP1, FIX50SP2.

    TransportLayer.MQAdaptor.

    NumAttemptReconnect
    10The number of reconnect attempts to the MQ Series Server

    Session.<SessionNumber>.SmartXMLProcessor

    trueEnables mode of processing XML/FIXML messages:
    • For outgoing FIX XML messages (MsgType = n) adapter extracts XML data and then sends data to the MQ client.
    • For incoming XML/FIXML raw data IBM MQ TA wraps data into a FIX XML message (MsgType = n) and then routes the message to FIXEdge C++.

    TransportLayer.MQAdaptor.

    SessionNumber
    1The number of sessions with MQ Series. Each session is a set of MQ Series queues

    Session.<SessionNumber>.ToClientQueue

    MQClient_toThe name for the Queue dedicated for messages coming from clients to MQ via FIXEdge C++.

    TransportLayer.MQAdaptor.Session.<SessionNumber>.

    ClientID

    FromClientQueue

    MQClient_fromMQ session IDThe name for the Queue dedicated for messages coming from MQ to clients via FIXEdge C++.

    TransportLayer.

    MQAdapter

    MQAdaptor.Session.<SessionNumber>.

    FIXVersion

    ErrorQueue

    FIX44MQClient_errorThe name for the Queue dedicated for messages, which cannot be handled because of errors.

    TransportLayer.MQAdaptor.Session.<SessionNumber>.

    SmartXMLProcessor

    SenderID

    true-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>.

    ToClientQueue

    MessageDataFormat

    MQClientMQFMT_toNONEThe name for the Queue dedicated for messages coming from MQ to clients via FIXEdge C++.


    Info

    This parameter is applicable since FIXEdge C++ 6.15.1 version.

    TransportLayer.MQAdaptor.Session.<SessionNumber>.FromClientQueue

    MQClient_from

    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>.

    ErrorQueue
    MQClient_errorThe 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.

    LogIncomingMessages

    false


    Info

    This parameter is applicable since FIXEdge C++ 6.15.1 version.

    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>.

    TargetID

    FromClientDropMessageFilter

    -Optional. TargetCompID (Tag = 56) in the received message is set to the property valueDefines a regular expression (perl syntax) to drop matched messages coming from MQ.

    TransportLayer.MQAdaptor.Session.<SessionNumber>.

    MessageDataFormat
    MQFMT_NONE
    Info

    This parameter is applicable since FIXEdge C++ 6.15.1 version.

    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

    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


    Info

    This parameter is applicable since FIXEdge C++ 6.

    16.1 version.

    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:

    • Empty value: Indicates that this property is not set, and the default behavior (as if the value is 0) is in effect.
    • Integer Values (milliseconds):
      A whole number ranging from 0 to 60,000 inclusive. The value represents the duration in milliseconds for the force commit interval.

    TransportLayer.MQAdaptor.Session.<SessionNumber>.

    -Optional. Defines a regular expression (perl syntax) to drop matched messages coming from MQ.

    TransportLayer.MQAdaptor.Session.<SessionNumber>.SmartXMLProcessorFromClientMessageFilter

    -

    ReceiveForceCommitTimeMs

    0


    Info

    This parameter is applicable since FIXEdge C++ 6.16.1 version.

    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:

    • Empty value: Indicates that this property is not set, and the default behavior (as if the value is 0) is in effect.
    • Integer Values (milliseconds):
      A whole number ranging from 0 to 60,000 inclusive. The value represents the duration in milliseconds for the force commit interval.

    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:

    ...

    1. Log in to the remote server where MQ Instance is running.

    2. Open cmd.

    3. Run the 'runmqsc'. Check if connected to the correct QM:

    4. Execute 'ALTER QMGR CHLAUTH(DISABLED)':

    5. Try to reestablish connection by clicking 'No' in the dialog:

    6. And Finish in the dialog:

    7. If the error is still here, look at Channel authentication records and make sure that your account is not in the Block User List:



    8. Try again steps 5-6.

    Also, you can find how tdisable IBM MQ authentication on the official site.