Чтобы получить количество сообщений из темы, я вызвал API-вызовы WSO2 MB 3.1.0 AdminService. Это работало для очереди, но не для темы. При вызове с темой он дает неправильное количество (всегда дает 0)
(Чтобы показать количество сообщений в теме в консоли управления WSO2 MB, я создал входящую конечную точку с suspend заявить в WSO2 ESB и создать постоянную подписку на тему)
- Получить количество сообщений из очереди.
url:https://localhost:9447/services/AndesAdminService.AndesAdminServiceHttpsSoap12Endpoint
Тело запроса:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://wso2.org/carbon/andes/admin/xsd">
<soap:Header/>
<soap:Body>
<xsd:getMessageCount>
<!--Optional:-->
<xsd:destinationName>test-queue</xsd:destinationName>
<!--Optional:-->
<xsd:msgPattern>**queue**</xsd:msgPattern>
</xsd:getMessageCount>
</soap:Body>
</soap:Envelope>
- Получить количество сообщений из темы.
URL:https://localhost:9447/services/AndesAdminService.AndesAdminServiceHttpsSoap12Endpoint
Тело запроса:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://wso2.org/carbon/andes/admin/xsd">
<soap:Header/>
<soap:Body>
<xsd:getMessageCount>
<!--Optional:-->
<xsd:destinationName>mytopic</xsd:destinationName>
<!--Optional:-->
<xsd:msgPattern>**topic**</xsd:msgPattern>
</xsd:getMessageCount>
</soap:Body>
</soap:Envelope>
Я установил messagePattern как «тему», чтобы получить количество сообщений в теме. Разве это не правильно? Если да, то как правильно получить количество сообщений в теме с помощью служб администратора.
Ссылка: https://docs.wso2.com/display/MB310/Calling+Admin+Services+from+Apps