Configuring the HTTP Gateway
- First navigate to the Lamaxu Configuration page, http://localhost:8085/admin/dashboard/#/mq/admin
- The default username/password is admin/password
Authenticating Access to the HTTP Gateway
The simplest way to authenticate access to the HTTP gateway is to use a Local User account.
Click the 'Add New User' button to add a new user.
At present Lamaxu does not provide write access to change MQ object via HTTP.
Passwords
Passwords can be entered in clear text or obfuscated to prevent them from being visible.
A prefix of {obf} signifies the password has been obfuscated.
Obfuscating the Password
Use the utility located in the bin directory to obfuscate the password.
On Linux
/opt/queuemetrix/lamaxu.{version}/bin/obfuscate.sh password
Obfuscated password is: {obf}hZSGhoKah5E=
On Windows
The command below will obfuscate the password 'password'.
C:\Program Files (x86)\QueueMetrix\LAMAXU\bin>obfuscate.bat password
Obfuscated password is: {obf}hZSGhoKah5E=
REST Web Service API
The HTTP Gateway can be accessed using your favourite http client. Some recommendations are:
- curl
- wget
- Postman (Google Chrome Extension)
For the request URL format, the use of headers, response codes, etc. follow the conventions recommended for a RESTful API. This is described in detail below:
Required Header:
Accept application/json (Return requested data in JSON format)
or
Accept application/xml (Return requested data in XML format)
Table of Web Service REST URIs
Table of Web Service REST URIs
Object Type | Category | Example REST URI | Operating System | Notes |
---|---|---|---|---|
QMGR | OBJECT_CONFIG | All | ||
QUEUE | OBJECT_CONFIG | All | ||
CHANNEL | OBJECT_CONFIG | All | ||
SUBSCRIPTION | OBJECT_CONFIG | All | ||
TOPIC | OBJECT_CONFIG | All | ||
PROCESS | OBJECT_CONFIG | All | ||
SERVICE | OBJECT_CONFIG | All | ||
NAMELIST | OBJECT_CONFIG | All | ||
STORAGE_CLASS | OBJECT_CONFIG | ZOS Only | ||
SYSTEM | OBJECT_CONFIG | ZOS Only | ||
LOG | OBJECT_CONFIG | ZOS Only | ||
QUEUE_STATUS | STATUS | All | ||
QMGR_STATUS | STATUS | All | ||
CHANNEL_STATUS | STATUS | All | ||
SERVICE_STATUS | STATUS | All | ||
SUBSCRIPTION_STATUS | STATUS | All | ||
LISTENER_STATUS | STATUS | All | ||
PUBSUB_STATUS | STATUS | All | ||
PAGESET_USAGE | STATUS | ZOS Only | ||
CHANNEL_INITIATOR | STATUS | ZOS Only | ||
CHANNEL_EVENT | EVENT_MESSAGE | All | ||
PUBSUB_EVENT | EVENT_MESSAGE | All | ||
PERFM_EVENT | EVENT_MESSAGE | All | ||
QMGR_EVENT | EVENT_MESSAGE | All | ||
COMMAND_EVENT | EVENT_MESSAGE | All | ||
LOGGER_EVENT | EVENT_MESSAGE | All | ||
CONFIG_EVENT | EVENT_MESSAGE | All | ||
Q_STATISTICS | STATS_MESSAGE | All (Except ZOS) | ||
STATISTICS | STATS_MESSAGE | All (Except ZOS) | This is the MQI Statistics | |
RESETQSTATS | STATS_MESSAGE | ZOS Only | ||
ACCOUNTING | STATS_MESSAGE | All (Except ZOS) |
Structuring a Request
Structure of the URI
objects/queueManagerName/objectType/objectName/fields
URI Segment | Description | Wildcards Supported | Wildcard Example |
---|---|---|---|
queueManagerName | Name of the queue manager | YES | .* can be used to select all or part of the queue manager name |
objectType | See DataTypes and Categories | NO | |
objectName | Name of the MQ object. Example Queue Name | YES | .* can be used to select all or part of the object name |
fields | Fields to select separated by a | character | YES | .* can be used to select all fields | can be used as an OR statement to select multiple fields |
Example
The following URI would show the fields CURDEPTH, IPPROCS and OPPROCS for all queues beginning with TEST on all queue managers.
http://localhost:8085/objects/.*/QUEUE_STATUS/TEST.*/CURDEPTH|IPPROCS|IPPROCS
{ "queryTime": 0, "objects": [ { "messageBrokerName": "TEST", "objectName": "TEST.LQ1", "objectType": "QUEUE_STATUS", "entryTime": "25/09/2018 12:58:47 PM", "fields": { "OPPROCS": "0", "IPPROCS": "0", "CURDEPTH": "0" } }, { "messageBrokerName": "TEST", "objectName": "TEST.RESPONSE.Q", "objectType": "QUEUE_STATUS", "entryTime": "25/09/2018 12:58:47 PM", "fields": { "OPPROCS": "0", "IPPROCS": "0", "CURDEPTH": "0" } }, { "messageBrokerName": "TEST", "objectName": "TEST_TOPIC.Q", "objectType": "QUEUE_STATUS", "entryTime": "25/09/2018 12:58:47 PM", "fields": { "OPPROCS": "0", "IPPROCS": "0", "CURDEPTH": "0" } }, { "messageBrokerName": "TEST", "objectName": "TEST.REQUEST.Q", "objectType": "QUEUE_STATUS", "entryTime": "25/09/2018 12:58:47 PM", "fields": { "OPPROCS": "0", "IPPROCS": "0", "CURDEPTH": "0" } } ] }
Request headers
If your Lamaxu process is configured with local and, or LDAP authentication, you will need to supply an “Authorization” header. A valid value may look like “Basic YWRtaW46YWRwaW4=”
Filter Examples
The URL below filters statistics for QUEUE1 based on the date.
http://hostname.com:8085/statistics/TEST/STATISTICS/QUEUE1/date/2017-09-29
The URLs below filter statistics for all queues matching the .* wildcard for the date or queue name.
http://hostname.com:8085/statistics/TEST/STATISTICS/.*/date/2017-09-29
http://hostname.com:8085/statistics/TEST/STATISTICS/QU.*1/date/2017-09-29
http://hostname.com:8085/statistics/TEST/STATISTICS/QU.*1/date/2017-09.*
Where:
{QMGR} - the name of the queue manager configured
objectype - one of the following, must be in UPPERCASE. Refer to the table below.
objectname - is the name of the queue manager object, i.e. a queue name.
Postman Example showing Accept header
Mainframe ZOS (Only)
RESETQSTATS
ObjectType | Category | Log File | URL | Operating System |
---|---|---|---|---|
RESETQSTATS | STATS_MESSAGE | statsData.log | ZOS Only |
Sample JSON Data
{ "queryTime": 0, "objects": [ { "messageBrokerName": "DEMO", "objectName": "QUEUE1", "objectType": "RESETQSTATS", "className": "java.lang.Integer", "eventUid": "9fac0871-7e1d-4a4e-b195-30026c878753", "entryTime": "29/04/2016 2:27:53 PM", "fields": { "date": "2016-04-29", "queueTimeAverage": "12265", "QSGDISP": "QMGR", "putMsgs": "23", "getMsgs": "23", "epoch": "1461904073", "QUEUE": "QUEUE1", "getMsgsPerSec": "0", "queueTime": "6462", "MQBACF_RESPONSE_ID": "c3e2d840d4d8c4f1404040d9d4d8c4f1d0aa85996e6fc748", "maxQueueDepth": "0", "putMsgsPerSec": "0", "MQCACF_RESPONSE_Q_MGR_NAME": "DEMO", "interval": "83", "msgAge": "0" } } ] }
STORAGE_CLASS
ObjectType | Category | Log File | URL | Operating System |
---|---|---|---|---|
STORAGE_CLASS | OBJECT_CONFIG | objectData.log | ZOS Only |
Sample JSON Data
{ "queryTime": 0, "objects": [ { "messageBrokerName": "MQZOS", "objectName": "SYSLNGLV", "objectType": "STORAGE_CLASS", "className": "java.lang.Integer", "entryTime": "02/05/2016 4:07:42 PM", "fields": { "PAGESET_TOTAL_PAGES": "569483", "QSGDISP": "QMGR", "PASS_TICKET_APPL": "", "PAGESET_EXPAND_COUNT": "0", "XCF_MEMBER_NAME": "", "PAGESET_UNUSED_PAGES": "556352", "RESPONSE_ID": "c3e2d840d4d8c4f1404040d9d4d8c4f1d3956de58293922a", "PAGESET_ID": "1", "PAGESET_STATUS": "AVAILABLE", "COMMANDLEVEL": "800", "PLATFORM": "ZOS", "PAGESET_USED_PAGES": "13131", "PAGESET_PERSIST_PAGES": "11329", "ALTDATE": "2011-08-02", "PAGESET_PERCENT_USED": "2.31", "STGCLASS": "SYSLNGLV", "ALTTIME": "12.55.34", "XCF_GROUP_NAME": "", "PAGESET_NONPERSIST_PAGES": "1802", "PAGESET_EXPAND_TYPE": "1", "QMNAME": "MQD1", "DESCR": "" } } ] }
PAGESET_USAGE
ObjectType | Category | Log File | URL | Operating System |
---|---|---|---|---|
PAGESET_USAGE | STATUS | statusData.log | ZOS Only |
Sample JSON Data
{ "queryTime": 0, "objects": [ { "messageBrokerName": "MQD1", "objectName": "1", "objectType": "PAGESET_USAGE", "className": "java.lang.Integer", "entryTime": "14/12/2017 5:05:43 PM", "fields": { "USAGE_TYPE": "1168", "UNUSED_PAGES": "556353", "RESPONSE_ID": "c3e2d840d4d8c4f1404040d9d4d8c4f1d3956f5562c0bc1c", "PAGESET_ID": "1", "EXPAND_COUNT": "0", "PERSIST_PAGES": "11329", "BUFFER_POOL_ID": "1", "COMMANDLEVEL": "800", "PLATFORM": "ZOS", "STATUS": "AVAILABLE", "TOTAL_PAGES": "569483", "EXPAND_TYPE": "1", "QMNAME": "MQD1", "NONPERSIST_PAGES": "1801" } }] }
SYSTEM
ObjectType | Category | Log File | URL | Operating System |
---|---|---|---|---|
SYSTEM | OBJECT_CONFIG | objectData.log | http://host:8085/objects/{QMGR}/SYSTEM | ZOS Only |
Sample JSON Data
{ "queryTime": 0, "objects": [ { "messageBrokerName": "MQD1", "objectName": "MQD1", "objectType": "SYSTEM", "className": "java.lang.Integer", "entryTime": "14/12/2017 4:48:52 PM", "fields": { "OPERATION_MODE": "0 701", "CCSID": "0", "DB2_BLOB_TASKS": "4", "SMF_ACCOUNTING": "YES", "RESLEVEL_AUDI": "YES", "ROUTING_CODE": "1", "TRACE_SIZE": "99", "QSG_NAME": "", "PLATFORM": "ZOS", "WLM_INT_UNITS": "0", "OTMA_MEMBER": "", "OTMA_DRU_EXIT": "DFSYDRU0", "MULC_CAPTURE": "STANDARD", "CMD_USER_ID": "MXMQSER1", "SMF_STATS": "YES", "OTMA_GROUP": "", "OTMA_TPIPE_PREFIX": "CSQ", "EXIT_TASKS": "8", "Q_INDEX_DEFER": "NO", "TRACE_CLASS": "", "MAX_ACE_POOL": "0", "RESPONSE_ID": "c3e2d840d4d8c4f1404040d9d4d8c4f1d3956b911c31ff24", "WLM_INTERVAL": "30", "DB2_NAME": "", "CLUSTER_CACHE": "DYNAMIC", "CONNECTION_SWAP": "YES", "DSG_NAME": "", "DB2_TASKS": "4", "EXCL_OPERATOR_MESSAGES": "", "SPLCAP": "NOT_SUPPORTED", "COMMANDLEVEL": "800", "SYSP_TYPE": "10", "CHKPOINT_COUNT": "500000", "OTMA_INTERVAL": "2147483647", "SMF_INTERVAL": "30", "EXIT_INTERVAL": "30", "QMNAME": "MQD1" } }] }
LOG
ObjectType | Category | Log File | URL | Operating System |
---|---|---|---|---|
LOG | OBJECT_CONFIG | objectData.log | http://host:8085/objects/{QMGR}/LOG | ZOS Only |
Sample JSON Data
{ "queryTime": 0, "objects": [ { "messageBrokerName": "MQD1", "objectName": "MQD1", "objectType": "LOG", "className": "java.lang.Integer", "entryTime": "14/12/2017 5:16:02 PM", "fields": { "DUAL_ACTIVE": "0", "DUAL_ARCHIVE": "0", "MQIACF_AUTH_REC_TYPE": "31", "RESPONSE_ID": "c3e2d840d4d8c4f1404040d9d4d8c4f1d39571a4443c7588", "OUT_BUFFER_SIZE": "4000", "OUT_BUFFER_COUNT": "20", "LOG_COMPRESSION": "0", "COMMANDLEVEL": "800", "PLATFORM": "ZOS", "IN_BUFFER_SIZE": "60", "MAX_READ_TAPES": "3", "DUAL_BSDS": "NO", "SYSP_TYPE": "10", "ARCHIVE": "1", "DEALLOC_INTERVAL": "0", "QMNAME": "MQD1", "MAX_ARCHIVE": "500" } }] }
Field Values
https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.0.0/com.ibm.mq.ref.adm.doc/q087690_.htm
Field Names | Description |
---|---|
messageBrokerName | Queue manager name |
objectName | ChannelName |
objectType | The Objects data type |
className | Internal use only |
entryTime | The time the Lamaxu agent captured the metric data |
DUAL_ACTIVE | Specifies whether dual logging is being used. YES|NO |
DUAL_ARCHIVE | Specifies whether dual archive logging is being used. YES|NO |
OUT_BUFFER_SIZE | Specifies the size of output buffer storage for active and archive log data sets. |
OUT_BUFFER_COUNT | Specifies the number of output buffers to be filled before they are written to the active log data sets. |
LOG_COMPRESSION | Specifies which log compression parameter is used. |
COMMANDLEVEL | MQ manager version |
PLATFORM | Operating environment of the queue manager |
IN_BUFFER_SIZE | Specifies the size of input buffer storage for active and archive log data sets. |
DUAL_BSDS | Specifies whether dual BSDS is being used. YES|NO |
SYSP_TYPE | |
ARCHIVE | Specifies whether archiving is on or off. YES|NO |
DEALLOC_INTERVAL | Specifies the length of time, in minutes, that an allocated archive read tape unit is allowed to remain unused before it is deallocated. The value can be in the range zero through 1440. If it is zero, the tape unit is deallocated immediately. If it is 1440, the tape unit is never deallocated. |
QMNAME | Queue manager name |
MAX_ARCHIVE | Specifies the maximum number of archive log volumes that can be recorded in the BSDS. |
Q_STATISTICS
ObjectType | Category | Log File | URL | Operating System |
---|---|---|---|---|
STATISTICS | STATS_MESSAGE | statsData.log | http://host:8085/objects/{QMGR}/Q_STATISTICS | All NON-ZOS |
Sample JSON Data
{ "queryTime": 0, "objects": [ { "messageBrokerName": "TEST", "objectName": "REQUEST.Q", "objectType": "Q_STATISTICS", "entryTime": "14/12/2017 5:25:33 PM", "fields": { "getMsgsPersist": "0", "reason": "NONE", "purgedMsgs": "0", "endDate": "2017-12-14", "type": "GROUP", "getMsgsPerSec": "2.48", "maxQueueDepth": "51", "browseMsgsPersist": "0", "avgQtimeNonPersist": "13630", "qmgrCommandLevel": "903", "putDateTime": "Thu, 14 Dec 2017 15:34:09 PM", "getMsgsPerSecPersist": "0.00", "TYPE": "QLOCAL", "getBytesPersist": "0", "getFailed": "0", "getBytesNonPersist": "172616", "put1Failed": "0", "browseMsgsNonPersist": "0", "putMsgsPerSecPersist": "0.00", "strucLength": "16", "version": "VERSION_3/CURRENT_VERSION", "putMsgsNonPersist": "149", "compCode": "OK", "expiredMsgs": "0", "putBytesNonPersist": "172616", "browseBytesPersist": "0", "interval": "60", "QMNAME": "TEST", "startDate": "2017-12-14", "getMsgsNonPersist": "149", "objectCount": "15", "getMsgsPerSecNonPersist": "2.48", "CRTIME": "10.37.10", "string": "15.34.09", "browsesFailed": "0", "putBytesPersist": "0", "putMsgsPerSec": "2.48", "msgSeqNumber": "1", "parameter": "Q_STATISTICS_DATA", "startTime": "15.33.09", "codedCharSetId": "0", "stringLength": "8", "value": "15", "CRDATE": "2017-12-14", "avgQtimePersist": "0", "parameterCount": "22", "putMsgsPerSecNonPersist": "2.48", "control": "LAST", "QUEUE": "REQUEST.Q", "browseBytesNonPersist": "0", "put1MsgsNonPersist": "0", "msgsNotQueued": "11", "Command": "STATISTICS_Q", "DEFTYPE": "TEMPDYN", "putsFailed": "0", "put1MsgsPersist": "0", "endTime": "15.34.09", "minimumQueueDepth": "0", "putMsgsPersist": "0" } }] }
QUEUE_STATUS
ObjectType | Category | Log File | URL | Operating System |
---|---|---|---|---|
QUEUE_STATUS | STATUS | statustData.log | All |
Sample JSON Data
{ "queryTime": 0, "objects": [ { "messageBrokerName": "TEST", "objectName": "TEST.RESPONSE.Q", "objectType": "QUEUE_STATUS", "className": "java.lang.Integer", "entryTime": "15/12/2017 3:47:23 PM", "fields": { "MONQ": "MEDIUM", "QTIME": "-1 -1", "LPUTDATE": "", "MSGAGE": "0", "IPPROCS": "0", "LGETTIME": "", "lastGetDateTime": "-1", "MEDIA_LOG_EXTENT_NAME": "", "lastPutEpoch": "-1", "lastPutDate": "-1", "lastGetEpoch": "-1", "TYPE": "QSTATUS", "lastGetTime": "-1", "lastPutDateTime": "-1", "OPPROCS": "0", "lastGetDate": "-1", "queueTimeAverage": "-1", "lastGetIntervalSecs": "-1", "LGETDATE": "", "QUEUE": "TEST.RESPONSE.Q", "LPUTTIME": "", "CURDEPTH": "0", "queueTime": "-1", "lastPutIntervalSecs": "-1", "UNCOM": "NO", "lastPutTime": "-1" } }] }
Field Values
Field Names | Description |
---|---|
messageBrokerName | Queue manager name |
objectName | ChannelName |
objectType | The Objects data type |
className | Internal use only |
entryTime | The time the Lamaxu agent captured the metric data |
MONQ | |
QTIME | |
LPUTDATE | |
MSGAGE | The age of the oldest message in seconds |
IPPROCS | The number of PUT connection handles to the queue |
LGETTIME | |
lastGetDateTime | |
MEDIA_LOG_EXTENT_NAME | |
lastPutEpoch | |
lastPutDate | |
lastGetEpoch | |
TYPE | |
lastGetTime | |
lastPutDateTime | |
OPPROCS | The number of GET connection handles to the queue |
lastGetDate | |
queueTimeAverage | |
lastGetIntervalSecs | |
LGETDATE | |
QUEUE | The name of the queue |
LPUTTIME | |
CURDEPTH | |
queueTime | |
lastPutIntervalSecs | |
UNCOM | |
lastPutTime |
SUBSCRIPTION_STATUS
ObjectType | Category | Log File | URL | Operating System |
---|---|---|---|---|
SUBSCRIPTION_STATUS | STATUS | statusData.log | All |
Sample JSON Data
{ "queryTime": 0, "objects": [ { "messageBrokerName": "TEST", "objectName": "SUBTEST", "objectType": "SUBSCRIPTION_STATUS", "className": "java.lang.Integer", "entryTime": "18/12/2017 10:38:25 AM", "fields": { "LMSGDATE": "2017-12-07", "SUB": "SUBTEST", "SUBID": "414d5120544553542020202020202020eec4b959d3c61322", "MSGAGE": "0", "lastMsgDate": "20171207", "LMSGTIME": "13:54:59", "NUMMSGS": "1", "lastMsgIntervalSecs": "-1", "MCASTREL": "-1 -1", "DURABLE": "YES", "CURDEPTH": "0", "TOPICSTR": "/SUBTEST", "RESMDATE": "2017-12-07", "lastMsgEpoch": "-1", "lastMsgDateTime": "2017120713:54:59", "lastMsgTime": "13:54:59", "QMNAME": "TEST" } }] }
Field Values
Field Names | Description |
---|---|
messageBrokerName | Queue manager name |
objectName | Subscriber Name |
objectType | The Objects data type |
className | Internal use only |
entryTime | The time the Lamaxu agent captured the metric data |
LMSGDATE | The date of the last message |
SUB | The subscriber Name |
SUBID | Internal ID value used by MQ |
MSGAGE | The oldest message age in seconds |
lastMsgDate | The date of the last message with no delimiters |
LMSGTIME | The time of the last message |
NUMMSGS | |
lastMsgIntervalSecs | |
MCASTREL | |
DURABLE | Where the subscriber is durable or not |
CURDEPTH | Current message depth of the subscriber queue |
TOPICSTR | The TOPIC string the Subscriber relates to, is subscribing to |
RESMDATE | |
lastMsgEpoch | UNIX date/time of the last message |
lastMsgDateTime | The last message date/time with do delimiters |
lastMsgTime | The time of the last message |
QMNAME | The Queue manager name where the subscription is hosted |
Using CURL
Example;
Curl command not surrounded with echo -en “$()”
curl --silent --header "Accept: application/json" -u admin:password http://localhost:8085/objects/TEST/SUBSCRIPTION/.*/SELECTOR
$ curl --silent --header "Accept: application/json" -u admin:password http://localhost:8085/objects/TEST/SUBSCRIPTION/.*/SELECTOR { "queryTime": 0, "objects": [ { "messageBrokerName": "TEST", "objectName": "TestSub", "objectType": "SUBSCRIPTION", "entryTime": "28/05/2018 11:07:57 AM", "fields": { "SELECTOR": "EAI_method \u003d \u0027notifyStatusChange\u0027 AND EAI_mandant \u003d \u0027000\u0027 AND EAI_routingCode LIKE \u0027%O%\u0027" } } ] }
Same curl command surrounded with echo -en “$()”
$ echo -en "$(curl --silent --header "Accept: application/json" -u admin:password http://localhost:8085/objects/TEST/SUBSCRIPTION/.*/SELECTOR)"
$ echo -en "$(curl --silent --header "Accept: application/json" -u admin:password http://localhost:8085/objects/TEST/SUBSCRIPTION/.*/SELECTOR)" { "queryTime": 0, "objects": [ { "messageBrokerName": "TEST", "objectName": "TestSub", "objectType": "SUBSCRIPTION", "entryTime": "28/05/2018 11:06:27 AM", "fields": { "SELECTOR": "EAI_method = 'notifyStatusChange' AND EAI_mandant = '000' AND EAI_routingCode LIKE '%O%'" } } ] }
Displaying Message Payloads
Browse / Get all Messages on a Queue
The REST URL for this would be,
http://host:8085/actions/DEMO/QBROWSE/LMX.REPLY.Q (Browse Only)
or
http://host:8085/actions/DEMO/QGET/LMX.REPLY.Q (Destructive GET)
Example Output,
{ "messages": [ { "messageBrokerName": "DEMO", "objectName": "LMX.REPLY.Q", "objectType": "MSG_DATA", "entryTime": "14/05/2019 8:23:38 PM", "fields": { "msgString": "Test 1", "correlId": "000000000000000000000000000000000000000000000000", "msgLength": "6", "messageId": "414D512044454D4F20202020202020207A1BF45AD2D15C20", "expiry": "-1", "putDateTime": "Mon, 14 May 2019 20:14:43 PM" } }, { "messageBrokerName": "DEMO", "objectName": "LMX.REPLY.Q", "objectType": "MSG_DATA", "entryTime": "14/05/2019 8:23:38 PM", "fields": { "msgString": "Test 2", "correlId": "000000000000000000000000000000000000000000000000", "msgLength": "6", "messageId": "414D512044454D4F20202020202020207A1BF45AD5D15C20", "expiry": "-1", "putDateTime": "Mon, 14 May 2019 20:14:46 PM" } }, { "messageBrokerName": "DEMO", "objectName": "LMX.REPLY.Q", "objectType": "MSG_DATA", "entryTime": "14/05/2019 8:23:38 PM", "fields": { "msgString": "Test 3", "correlId": "000000000000000000000000000000000000000000000000", "msgLength": "6", "messageId": "414D512044454D4F20202020202020207A1BF45AD8D15C20", "expiry": "-1", "putDateTime": "Mon, 14 May 2019 20:14:49 PM" } } ] }
Selecting Messages using MessageId and CorrelId
You can also filter on messageId and correlId , example, http://localhost:8085/actions/.*/QBROWSE/LMX.REPLY.Q/messageId/414D512044454D4F20202020202020207A1BF45AD21B6F20
Example output,
{ "queue": { "curDepth": 3, "maxMsgLength": 4194304, "inputCount": 0, "outputCount": 0, "maxDepth": 99999999, "queueName": "LMX.REPLY.Q", "qmgrName": "DEMO", "messages": [ { "correlId": "000000000000000000000000000000000000000000000000", "messageId": "414D512044454D4F20202020202020207A1BF45AD21B6F20", "msgLength": 6, "expiry": -1, "putDateTime": "Fri, 18 May 2018 11:32:40 AM", "msgString": "Test 1", "msgPosition": 1 }, { "correlId": "000000000000000000000000000000000000000000000000", "messageId": "414D512044454D4F20202020202020207A1BF45AD51B6F20", "msgLength": 6, "expiry": -1, "putDateTime": "Fri, 18 May 2018 11:32:42 AM", "msgString": "Test 2", "msgPosition": 2 }, { "correlId": "000000000000000000000000000000000000000000000000", "messageId": "414D512044454D4F20202020202020207A1BF45AD81B6F20", "msgLength": 6, "expiry": -1, "putDateTime": "Fri, 18 May 2018 11:32:44 AM", "msgString": "Test 3", "msgPosition": 3 } ], "description": " ", "entryTime": "21/05/2018 10:07:50 PM" } }