Table of Contents
...
Property Name | Default Value | Description |
TransportLayer.MQAdaptor.Description | MQ Transport Adaptor DLL | Description of the transport adaptor |
TransportLayer.MQAdaptor.DllName | bin/MQTAAddin.dll | Path to the transport adaptor module |
TransportLayer.MQAdaptor.TimeIntervalBeforeReconnect | 1000 | Time interval in milliseconds between reconnect attempts |
TransportLayer.MQAdaptor.StorageDirectory | FixEdge1/log | Logging directory for storage of outgoing messages. Required. |
TransportLayer.MQAdaptor.BufferSizeForMessage | 65536 | Message buffer size. Max value is 4194304. 0 means a default value 64 * 1024 |
TransportLayer.MQAdaptor.MQ_HOSTNAME | localhost | MS Series Server host name |
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 message on MQ Series Server |
TransportLayer.MQAdaptor.NumAttemptReconnect | 10 | Number of reconnect attempts to MQ Series Server |
TransportLayer.MQAdaptor.SessionNumber | 1 | Number of sessions with MQ Series. Each session is a set of MQ Series queues. |
TransportLayer.MQAdaptor.Session.1.ClientID | MQClient | MQ session ID. |
TransportLayer.MQAdaptor.Session.1.SmartXMLProcessor | true | Enables mode of processing XML/FIXML messages:
|
TransportLayer.MQAdaptor.Session.1.ToClientQueue | MQClient_to | The name for Queue, dedicated for message coming from client to MQ via FIX Edge |
TransportLayer.MQAdaptor.Session.1.FromClientQueue | MQClient_from | The name for Queue, dedicated for message coming from MQ to client via FIX Edge |
TransportLayer.MQAdaptor.Session.1.ErrorQueue | MQClient_error | The name for Queue dedicated for message, which cannot be handled because of error. |
TransportLayer.MQAdaptor.Session.1.SenderID | - | Not required. SenderCompID (Tag = 49) in the received message is set to the property value. |
TransportLayer.MQAdaptor.Session.1.TargetID | - | Not required. TargetCompID (Tag = 56) in the received message is set to the property value. |
TransportLayer.MQAdaptor.Session.1.FromClientDropMessageFilter | - | Not required. Defines a regular expression (perl syntax) to drop matched messages coming from MQ. |
TransportLayer.MQAdaptor.Session.1.SmartXMLProcessorFromClientMessageFilter | - | Not required. Defines a regular expression (perl syntax) to apply SmartXMLProcessor to matched messages coming from MQ. Overrides default filter: case insensitive "<\?xml version.*|<FIXML.*" |
...
There are cases that do not lead to the messages in the Error queue.
E.g.: FIXEdge can't push the data to the FIX connection because the destination is down.
...
The stored directory is needed so that unsent messages are sent to the Queue and after FIXEdge restarting, it knows what messages need to be sent.
For each Queue, a separate files file will be created, eg:
...
MQ Adapter property | Storage file |
---|---|
TransportLayer.MQAdaptor1.Session.1.ClientID = MQHub1 |
...
TransportLayer.MQAdaptor1.Session.1.ErrorQueue = errQ | file MQ-MQHub1_2005211210150121.out MQ-MQHub1-Errors_2005211210150131.out |
...
TransportLayer.MQAdaptor1.Session.2.ClientID = MQHub2 TransportLayer.MQAdaptor1.Session. |
...
2.ErrorQueue = errQ |
...
MQ-MQHub2_2005211210150801.out MQ- |
...
MQHub2-Errors_ |
...
2005211210150801. |
...
out |
FE writes received messages to log:
- MQ TA writes the messages in MQ *unsent messages in MQ_[ClientID]_xxx.out file and marked them with status Record valid='Y' (unsent messages are marked as "Record valid='Y'").
- MQ TA puts the messages in the MQClient_to queue and sets status and marked that sent messages with status Record valid='N' (sent . That messages are marked as "Record valid='N'" and not involved to in following sending to Queue) .
Examples of the log from MQ_[ClientID]_xxx.out
Code Block | ||||
---|---|---|---|---|
| ||||
<Record valid='Y' size='Ó ' data='8=FIX.4.4 9=3259 35=AE 49=FIXClient 56=FIXEdgeMQHub1 115=STRING 128=STRING 90=1 91=D 34=169 50=STRING 142=STRING 57=STRING...10=139'/> ... <Record valid='N' size='Ó ' data='8=FIX.4.4 9=3259 35=AE 49=FIXClient 56=FIXEdgeMQHub1 115=STRING 128=STRING 90=1 91=D 34=208 50=STRING 142=STRING 57=STRING...10=137'/> |
...
TransportLayer.MQAdaptor.SslKeyRepository = C:\\B2BITS\\FIXEdge\\FixEdge1\\conf\\key
TransportLayer.MQAdaptor.SslCipherSpecification = TRIPLE_DES_SHA_US
TransportLayer.MQAdaptor.SslClientAuthentication = false
TransportLayer.MQAdaptor.SslPeerName =
Troubleshooting
Disabling IBM MQ security
If MQ TA fails to initialize with the record in log "Failed to set character set. Code: ...<some code>...": make sure QueueManager on the server-side is running and you are trying to set right code character set.
...
MQ TA has not supported the authentication в IBM MQ Server.
Solution
The authentication should be disabled. You should perform the following steps:
Login to the remote server where MQ Instance is running
Open cmd
Run 'runmqsc'. Check if connected to 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.