为了从主题中获取消息计数,我调用了 WSO2 MB 3.1.0 AdminService api 调用。它适用于队列,但不适用于主题。使用主题调用时,它没有给出正确的计数(它总是给出 0)
(为了在 WSO2 MB 管理控制台中显示主题中的消息计数,我在 WSO2 ESB 中创建了一个具有挂起状态的入站端点并创建了一个持久订阅到主题)
- 从队列中获取消息计数。
网址: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>
- 从主题获取消息计数。
网址: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