我目前正在处理一个POC,我正在从一个天蓝色队列中消耗消息 - 这是在DB CRUD操作期间通过动态CRM插件填充的。使用Java客户端的队列排放操作失败并显示消息:
<Error>
<Code>500</Code>
<Detail>
The service was unable to process the request; please retry the operation. For more information on exception types and proper exception handling, please refer to http://go.microsoft.com/fwlink/?LinkId=761101. TrackingId:add85f1a-a249-4e69-b284-ad879cd29968_G27, SystemTracker:scsqueue1-ns:Queue:scsqueue1, Timestamp:7/6/2016 7:21:49 PM
</Detail>
</Error>
可以在这里找到java客户端: https://github.com/sharpcodes/scs-bus-demo
但是使用C#客户端
答案 0 :(得分:0)
我在GitHub上的代码中看不到明显的问题。但是,根据我的经验,我建议您可以尝试使用工具Fiddler
来调试代码中的其余请求,因为Azure Service Bus SDK for Java包含了REST API,例如{{3}用于排除消息。
与此同时,Java中有三种方法可以通过Azure上的操作Receive and Delete Message
来消息。
Receive and Delete Message (Destructive Read)
部分来执行默认模式ReceiveAndDelete
。Receive messages from a queue
部分。Receive and delete a message from the queue
部分来查看函数{{ 1}}。答案 1 :(得分:0)
感谢彼得指导这个......
看起来动态crm-azure总线插件存在问题,阻止java / node-js客户端使用SDK或RestFul调用来排空队列。
使用JMS客户端似乎可以解决问题。另一种方法是拥有一个可以被Java / Node包装的C#中间件。
以下是对该问题的引用:https://github.com/Azure/azure-sdk-for-php/issues/823
答案 2 :(得分:0)
现在该问题已关闭,因为Azure Java SDK团队必须正确修复以正确转义字符。