List queues operation
Use the List queues operation to programmatically retrieve a list of message queues (both point-to-point and publisher-subscriber) along with its name, type, and number of messages and dead letter messages in the queue.
This operation leverages the deprecated functionality provided by the GET queue list operation. You must have the Runtime Management privilege to use this operation. The List queues action is an asynchronous process:
-
The client sends an initial GET request to the that specifies an Runtime ID for the runtime, Runtime cluster, or Runtime cloud containing the message queue that the user wants to retrieve.
-
The platform returns a status code 202 while the request is in process. A 200 status code indicates that the request is complete.
-
The client sends a second GET request using the Session ID value provided in the first response.
-
The second GET response returns all message queues available in the Runtime ID specified in step 1.
Structure
<bns:result xsi:type="bns:QueueRecord" queueName="" queueType="" messagesCount="" deadLettersCount=""/>
| Field | Type | Description |
|---|---|---|
| Filter | FIlter | Filter |
| containerId | string | The unique ID assigned by the system to the container.Use the Runtime ID for runtimes and runtime cloud clusters found in the user interface by navigating to Manage > Runtime Management and viewing the Atom Information panel for a selected container. |
| deadLettersCount | integer | The aggregate count of the message queue’s or subscriber queue's dead letters. |
| messagesCount | integer | The aggregate count of messages in the message or subscriber queue. |
| queueName | string | The name of the message queue. |
| queueType | string | The type of message queue — Point-to-Point or Publish/Subscribe. |
| GET | QUERY | CREATE | UPDATE | EXECUTE | DELETE |
|---|---|---|---|---|---|
| Supported | Not Supported | Not Supported | Not Supported | Not Supported | Not Supported |
Using the GET operation
-
The GET operation returns a list of all message queues that exist for a specific container. You must have the Runtime Management privilege to use perform this operation.
-
If the response is not yet ready, the initial GET response returns a 202
responseStatusCode. Boomi encourages you to continue polling the same Session ID until theresponseStatusCodereturns a 200 status code. After receiving a 200 status, you cannot use the same Session ID again.
SOAP implementation
-
GET operation
To retrieve a list of message queues:
-
Send an initial POST to:
https://api.boomi.com/api/soap/v1/<accountID>where accountId is the ID of the authenticating account for the request. You must include required fields in the request body.
-
Send a second POST to:
https://api.boomi.com/api/soap/v1/<accountID>where accountId is the ID of the authenticating account for the request. You must provide the session ID returned in the initial response in the second POST request body.
First GET request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://api.platform.boomi.com/">
<soapenv:Header>
<wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Username>user@boomi.com</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">Password123</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<api:asyncGet>
<api:objectType>ListQueues</api:objectType>
<api:objectId>ID</api:objectId>
<api:asyncGet>
</soapenv:Body>
</soapenv:Envelope>First GET response:
<?xml version='1.0' encoding='UTF-8'?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<bns:getResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bns="http://api.platform.boomi.com/">
<bns:result xsi:type="bns:QueueMessageResponse" sessionId="QueueList-314b6d55-d8ab-42de-8f5a-dd934e436650" message="Request submitted to query queue messages"/>
</bns:getResponse>
</S:Body>
</S:Envelope>Second GET request using the Session ID:
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" SOAP-ENV:mustUnderstand="1">
<wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="UsernameToken-371665109">
<wsse:Username>user@boomi.com</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">Password123</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<asyncResult xmlns="http://api.platform.boomi.com/">
<token>ListQueues-fc9ead63-b719-4568-b775-96d9601b6c0c</token>
</asyncResult>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>Second GET response using the Session ID:
<?xml version='1.0' encoding='UTF-8'?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<bns:asyncResultResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bns="http://api.platform.boomi.com/">
<bns:results numberOfResults="3" responseStatusCode="200">
<bns:result xsi:type="bns:QueueRecord" queueName="DQ" queueType="Point-to-Point" messagesCount="150" deadLettersCount="0"/>
<bns:result xsi:type="bns:QueueRecord" queueName="TEST-9825_Publish_Subscribe" queueType="Publish/Subscribe" messagesCount="5" deadLettersCount="15">
<bns:topicSubscribers SubscriberName="922fb43d-a4c6-4550-979d-a4c16477ece8" messageCount="2" deadLettersCount="8"/>
<bns:topicSubscribers SubscriberName="e2d134d3-cd39-4aae-b660-6848dcf975f0" messageCount="3" deadLettersCount="7"/>
</bns:result>
<bns:result xsi:type="bns:QueueRecord" queueName="UQC" queueType="Point-to-Point" messagesCount="150" deadLettersCount="0"/>
</bns:results>
</bns:asyncResultResponse>
</S:Body>
</S:Envelope> -