The IBM MQ adapter returns
various error codes when it encounters a problem during code execution.
Some of these error codes are related to the errors returned by the
MQ calls (such as MQCONN, MQGET)
and some of them are not.
The following table
lists all MQ calls made by the adapter, and how errors from these
calls are mapped to error codes:
- IBM® WebSphere® MQ Native Function
- Action
Taken by Adapter
- MQCONN
- If MQCONN fails while trying
to connect to the queue manager specified in the -QMN adapter
command, the error code returned by the adapter is MPIRC_E_BAD_CONNECTION
(-13). However, if MQCONN fails
while trying to connect to the error queue manager specified by the -EQMN adapter
command, the adapter returns error code MPIRC_E_MQS_EQUEUE_OPERATION
(-1013) to indicate that the error occurred while transferring
messages to the error queue.
- MQOPEN
- If MQOPEN fails while trying
to open the queue specified in the -QN adapter
command, the error code returned by the adapter is MPIRC_E_MQS_OPEN_QUEUE
(-1003). However, if MQOPEN fails
while trying to open the error queue specified by the -EQMN adapter
command, the error code returned by the adapter is MPIRC_E_MQS_EQUEUE_OPERATION
(-1013) to indicate that the error occurred while transferring
messages to the error queue. Additionally, if the MQOPEN call
issued for opening the queue manager object fails (this is done as
part of the connection validation process), the returned error code
is MPIRC_E_BAD_CONNECTION (-13) to indicate
to the Resource Manager that the connection is invalid.
- MQGET
- If MQGET call fails and
this error cannot be corrected or handled by the adapter, the adapter
returns error code MPIRC_E_MQS_GET_MESSAGE (-1005).
Additionally, if MQGET call fails inside of
the listener thread, and the MQ reason code is MQRC_CONNECTION_BROKEN
(2009L), the adapter returns error code MPIRC_E_BAD_CONNECTION
(-13) to signal that the connection is broken and needs
to be reestablished.
- MQPUT
- If MQPUT call fails and
this error cannot be corrected or handled by the adapter, the adapter
returns error code MPIRC_E_MQS_PUT_MESSAGE (-1004).
- MQCMIT
- If MQCMIT call fails while
committing the messages upon successful map completion, the adapter
returns error code MPIRC_E_MQS_COMMIT (-1009).
- MQBACK
- The adapter does not return an error code as a
result of MQBACK failure. This is because if
the MQBACK is called, that means that the map
has already failed for another reason.
- MQBEGIN
- This function is called only when the global transactions
are used (-GTX adapter command). If MQBEGIN fails,
the adapter returns MPIRC_E_MQS_BEGIN_GTX (-1007).
On NonStop ZLE, if the BEGINTRANSACTION() call
fails, the adapter returns error code MPIRC_E_MQS_BEGINUOW_ERR
(-1014).
- MQCLOSE
- A failure in MQCLOSE does
not cause the map to fail (but a textual message indicating this will
be traced). The only time a failure in MQCLOSE results
in an error code returned by the adapter, is when the queue manager
connection is being validated. If MQCLOSE fails
for the previously opened queue manager object for validation, the
adapter returns error code MPIRC_E_BAD_CONNECTION (-13).
- MQDISC
- If MQDISC fails, the returned
error code is MPIRC_E_MQS_DISCONNECT (-1006).
- MQINQ
- If MQINQ fails, the adapter
does not return any error.
- MQCONNX
- If MQCONNX fails while trying
to connect to the remote queue manager specified in the (-QMN)
adapter command, the error code returned by the adapter is MPIRC_E_BAD_CONNECTION
(-13). Note that the MQCONNX command is used only by the IBM WebSphere MQ (client) adapter, and only
if the (-CD) adapter command is specified.
- MQPUT1, MQSET
- Not used by the adapter.