当前位置: 首页 > 知识库问答 >
问题:

服务总线系统。服务模型。发布消息时出现错误异常:50002

茅曾琪
2023-03-14

我们的现场(Windows)服务总线实例出现故障。

发布消息时,我们会收到一个“System.ServiceModel.FaultException:50002”异常。我们不相信这与代码有关,因为它开始发生在一个已经工作的代码分支上。本问题末尾提供了异常的完整堆栈跟踪。

我在该框上运行了以下PowerShell命令,它们似乎都表明service bus正在正确运行。

get-sbFarmStatus
get-sbFarm
get-SBMessageContainer
get-sbclientconfiguration

服务总线资源管理器设法访问队列和主题,但无法读取任何消息

它的输出如下。

<17:59:37> The application is now connected to the sb://foo.com:9355/ServiceBusDefaultNamespace service bus namespace.
<17:59:37> MessagingFactory successfully created
<17:59:37> The queue batchrulesqueue has been succesfully retrieved.
<17:59:37> The queue emailqueue has been succesfully retrieved.
<17:59:37> The queue recordsubmittedqueue has been succesfully retrieved.
<17:59:37> The topic iceeventstopic has been succesfully retrieved.
<18:00:12> Exception: The remote server returned an error: (500) Internal Server Error. The server was unable to process the request; please retry the operation. If the problem persists, please contact your Service Bus administrator and provide the tracking id..TrackingId:d3433f00-708d-4494-b3de-aecadeb42eeb_GTPR-MC01,TimeStamp:19/04/2017 17:00:12. Method <GetSubscriptions>b__63: retry 1 of 10...
<18:05:24> Exception: The remote server returned an error: (500) Internal Server Error. The server was unable to process the request; please retry the operation. If the problem persists, please contact your Service Bus administrator and provide the tracking id..TrackingId:c64a9847-67f9-4c44-b241-7d43526bbe6c_GTPR-MC01,TimeStamp:19/04/2017 17:05:24. Method <GetSubscriptions>b__63: retry 10 of 10.
<18:06:01> Exception: The remote server returned an error: (500) Internal Server Error. The server was unable to process the request; please retry the operation. If the problem persists, please contact your Service Bus administrator and provide the tracking id..TrackingId:f1cb6f00-6753-4bde-80d4-a1e22b4fa904_GTPR-MC01,TimeStamp:19/04/2017 17:06:00
<18:06:01> InnerException: The remote server returned an error: (500) Internal Server Error.

尝试创建队列时

<15:09:12> Exception: The remote server returned an error: (500) Internal Server Error. SubCode=50000. Internal  Server Error.TrackingId:1d6b0877-7533-4ca9-a670-5bbbed247cc5_GTPR-MC01,TimeStamp:20/04/2017 14:09:12. Method <CreateQueue>b__7c: retry 1 of 10...
<15:09:14> Exception: The remote server returned an error: (409) Conflict. SubCode=40901. Another conflicting operation is in progress..TrackingId:5137721b-0da9-4b33-860b-b0fb1822d802_GTPR-MC01,TimeStamp:20/04/2017 14:09:14. Method <CreateQueue>b__7c: retry 10 of 10.
<15:09:14> Exception: The remote server returned an error: (409) Conflict. SubCode=40901. Another conflicting operation is in progress..TrackingId:f64591d2-efde-42fb-9cd9-89bb6168e9a0_GTPR-MC01,TimeStamp:20/04/2017 14:09:14
<15:09:14> InnerException: The remote server returned an error: (409) Conflict.

尝试创建主题时

<15:09:14> InnerException: The remote server returned an error: (409) Conflict.
<15:10:47> Exception: The remote server returned an error: (500) Internal Server Error. SubCode=50000. Internal  Server Error.TrackingId:9ade05de-9eb5-40bb-b33f-7bf4954bde9a_GTPR-MC01,TimeStamp:20/04/2017 14:10:47. Method <CreateTopic>b__90: retry 1 of 10.
<15:10:49> Exception: The remote server returned an error: (409) Conflict. SubCode=40901. Another conflicting operation is in progress..TrackingId:dc98a3b4-8515-4dbf-b941-112613450641_GTPR-MC01,TimeStamp:20/04/2017 14:10:49. Method <CreateTopic>b__90: retry 10 of 10.
<15:10:49> InnerException: The remote server returned an error: (409) Conflict.

这是来自客户端的完整堆栈跟踪。

System.AggregateException: One or more errors occurred. ---> Microsoft.ServiceBus.Messaging.MessagingException: 50002: Provider Internal Error.TrackingId:cfda6472-d5d2-4e6b-ad0a-00a745dd0be6_GTPR-MC01_GTPR-MC01,TimeStamp:19/04/2017 09:32:07 ---> System.ServiceModel.FaultException: 50002: Provider Internal Error.TrackingId:cfda6472-d5d2-4e6b-ad0a-00a745dd0be6_GTPR-MC01_GTPR-MC01,TimeStamp:19/04/2017 09:32:07

Server stack trace: 
   at Microsoft.ServiceBus.Messaging.Sbmp.DuplexRequestBindingElement.DuplexRequestSessionChannel.ThrowIfFaultMessage(Message wcfMessage)
   at Microsoft.ServiceBus.Messaging.Sbmp.DuplexRequestBindingElement.DuplexRequestSessionChannel.HandleMessageReceived(IAsyncResult result)

Exception rethrown at [0]: 
   at Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
   at Microsoft.ServiceBus.Messaging.Sbmp.DuplexRequestBindingElement.DuplexRequestSessionChannel.EndRequest(IAsyncResult result)
   at Microsoft.ServiceBus.Messaging.Channels.ReconnectBindingElement.ReconnectChannelFactory`1.RequestSessionChannel.RequestAsyncResult.<GetAsyncSteps>b__4(RequestAsyncResult thisPtr, IAsyncResult r)
   at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result)

Exception rethrown at [1]: 
   at Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
   at Microsoft.ServiceBus.Messaging.Channels.ReconnectBindingElement.ReconnectChannelFactory`1.RequestSessionChannel.EndRequest(IAsyncResult result)
   at Microsoft.ServiceBus.Messaging.Sbmp.RedirectBindingElement.RedirectContainerChannelFactory`1.RedirectContainerSessionChannel.RequestAsyncResult.<>c__DisplayClass17.<GetAsyncSteps>b__a(RequestAsyncResult thisPtr, IAsyncResult r)
   at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result)

Exception rethrown at [2]: 
   at Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
   at Microsoft.ServiceBus.Messaging.Sbmp.RedirectBindingElement.RedirectContainerChannelFactory`1.RedirectContainerSessionChannel.EndRequest(IAsyncResult result)
   at Microsoft.ServiceBus.Messaging.Channels.ReconnectBindingElement.ReconnectChannelFactory`1.RequestSessionChannel.RequestAsyncResult.<GetAsyncSteps>b__4(RequestAsyncResult thisPtr, IAsyncResult r)
   at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result)

Exception rethrown at [3]: 
   at Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
   at Microsoft.ServiceBus.Messaging.Channels.ReconnectBindingElement.ReconnectChannelFactory`1.RequestSessionChannel.EndRequest(IAsyncResult result)
   at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result)

Exception rethrown at [4]: 
   at Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
   at Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessageSender.OnEndClose(IAsyncResult result)
   --- End of inner exception stack trace ---
   at Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessageSender.OnEndClose(IAsyncResult result)
   at Microsoft.ServiceBus.Messaging.MessageClientEntity.OnClose(TimeSpan timeout)
   at Microsoft.ServiceBus.Messaging.MessageClientEntity.Close(TimeSpan timeout)
   at Microsoft.ServiceBus.Messaging.Channels.ServiceBusOutputChannel.OnClose(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Close(TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.OnClose(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Close(TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelFactory.OnClose(TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelFactory.TypedServiceChannelFactory`1.OnClose(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Close(TimeSpan timeout)
   at System.ServiceModel.ChannelFactory.OnClose(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Close(TimeSpan timeout)
   at Messaging.Infrastructure.Tcp.ChannelFactoryComponents.ChannelFactoryAdapter`1.Dispose(Boolean disposing)
   at Messaging.Infrastructure.Tcp.ChannelFactoryComponents.ChannelFactoryAdapter`1.Dispose()
   at Messaging.Infrastructure.Tcp.Publishers.TprMessagePublisher`1.Publish(IEnumerable`1 messages, QueueType queueType)
   at System.Threading.Tasks.Task.Execute()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at MCNotifications.Application.Services.TaskService.Wait(Task task) in e:\Builds\19\Scrum\MCNotifications-R28\Sources\Assemblies\MCNotifications.Application\Services\TaskService.cs:line 16
   at MCNotifications.Application.Services.EmailMessagePublisher.PublishEmailMessage(EmailMessageDto emailMessage) in e:\Builds\19\Scrum\MCNotifications-R28\Sources\Assemblies\MCNotifications.Application\Services\EmailMessagePublisher.cs:line 31
   at MCNotifications.Application.Commands.EmailMessageCommand.ProcessMessage(BrokeredMessageContainer messageContainer) in e:\Builds\19\Scrum\MCNotifications-R28\Sources\Assemblies\MCNotifications.Application\Commands\EmailMessageCommand.cs:line 42
   at MCNotifications.Application.Decorators.CompleteMessageDecorator.ProcessMessage(BrokeredMessageContainer messageContainer) in e:\Builds\19\Scrum\MCNotifications-R28\Sources\Assemblies\MCNotifications.Application\Decorators\CompleteMessageDecorator.cs:line 30
---> (Inner Exception #0) Microsoft.ServiceBus.Messaging.MessagingException: 50002: Provider Internal Error.TrackingId:cfda6472-d5d2-4e6b-ad0a-00a745dd0be6_GTPR-MC01_GTPR-MC01,TimeStamp:19/04/2017 09:32:07 ---> System.ServiceModel.FaultException: 50002: Provider Internal Error.TrackingId:cfda6472-d5d2-4e6b-ad0a-00a745dd0be6_GTPR-MC01_GTPR-MC01,TimeStamp:19/04/2017 09:32:07

是否有办法从ServiceBus获得更详细的信息,以了解问题是什么,没有想法,并且已经在这个问题上停留了一段时间。

问候

史蒂夫

共有1个答案

朱雅惠
2023-03-14

正如经常发生的情况一样,我在发布这篇文章后不久就解决了我的问题(花了几天的时间把我的头发拔出来)。

如本链接所述,为了从ServiceBus获取所有错误消息,您需要在事件查看器中启用“显示分析和调试日志”。

https://msdn.microsoft.com/en-us/library/jj193001.aspx

查看Microsoft ServiceBus文件夹的操作部分时,我发现异常是由数据库的事务日志已满引起的。当从实时备份中重新创建数据库时,清除日志的过程不会随之迁移。

 类似资料:
  • 我一直在尝试创建一个客户端来连接我的Azure服务总线队列。我一直在参考此文档: https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-java-how-to-use-queues#send-消息到队列。 我的代码: 在创建客户端时,我遇到以下错误: 通用域名格式。微软蔚蓝色的服务总线。原语。Service

  • 我在Azure中托管了两个云服务辅助角色,一个使用NServiceBus(Azure服务总线传输)消耗消息,另一个生成消息。 昨天,我部署了一个新版本的生产者工作者角色,而队列中仍然有大量消息,因为我们正在处理早上遗留下来的大量消息。当生产者启动时,它似乎已经清空(或者可能重新创建)队列,许多重要的生产消息丢失。这似乎很奇怪,但日志显示,大约在生产者角色启动时,消费者没有处理进一步的消息,我们知道

  • 我使用此url中的示例http://azure.microsoft.com/en-us/documentation/articles/service-bus-java-how-to-use-jms-api-amqp/.我有两个问题: 1、ACS或SAS 连接URL, 用户名和密码来自ACS身份验证,但Azure服务总线已将其身份验证从ACS更改为SAS。它是否也支持SAS身份验证?就像用户名是SA

  • 服务异常事件 function onWorkerError(\swoole_server $server,$worker_id,$worker_pid,$exit_code); 当worker/task_worker进程发生异常后会在Manager进程内回调此函数 $worker_id是异常进程的编号 $worker_pid是异常进程的ID $exit_code退出的状态码,范围是 1 ~255

  • 我是Azure服务总线的新手。 我正在尝试将消息添加到Azure服务总线队列,如下所示 我收到如下MessageCommunication异常 当我初始化QueueClient时,我甚至将操作超时值配置为10分钟,仍然是相同的问题 在我出错的地方,任何方向或指针都会有很大的帮助。

  • 我正在尝试在Azure中构建一个简单的WebAPI REST服务,后端有一个服务总线队列工作器。我可以从Web API向工作人员发送一条消息。然而,我试图发送更多的信息,只是为了看看一切是如何运作的。因此,我创建了一个简单的控制器,如下所示: 当我呼叫控制器时,我只收到工作人员接收到的大约1/2的消息。其余的似乎都被放弃了。