40400:找不到端点 - Windows Service Bus

时间:2013-03-16 19:11:36

标签: c# azureservicebus

我在Windows Service Bus 1.0的前提下运行,我收到异常MessaingEntityNotFoundException 40400: Endpoint not found

这是因为没有创建队列吗?我无法在服务器上的任何地方看到我可以创建队列(我正在使用2K8R2),当我运行服务总线配置工具时它只询问我是否要从服务器场中删除。

我是否需要添加队列,如果有的话是gui或powershell脚本,还是我做错了什么?

app.config中的连接字符串

<appSettings>
    <!-- Service Bus specific app setings for messaging connections -->
    <add key="Microsoft.ServiceBus.ConnectionString" value="Endpoint=sb://sqldev1.domain.local/domaintest1;StsEndpoint=https://sqldev1.domain.local:9355/domain-test1;RuntimePort=9354;ManagementPort=9355" />
  </appSettings>

代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.ServiceBus;
using Microsoft.ServiceBus.Messaging;
using System.Threading.Tasks;

namespace WindowsServerEventBus
{
    class Program
    {
        static void Main(string[] args)
        {
            MessagingFactory messageFactory = MessagingFactory.Create();
            NamespaceManager namespaceManager = NamespaceManager.Create();

            QueueClient myQueueClient = messageFactory.CreateQueueClient("WowWowWee");

            BrokeredMessage sendMessage = new BrokeredMessage("Hello World!");
            myQueueClient.Send(sendMessage);

            BrokeredMessage receivedMessage = myQueueClient.Receive(TimeSpan.FromSeconds(5));
            if (receivedMessage != null)
            {
                Console.WriteLine(string.Format("Message received: Body = {0}",
                                    receivedMessage.GetBody<string>()));
                receivedMessage.Complete();
            }

            messageFactory.Close();
            Console.ReadLine();
        }
    }
}

下面的异常转储:

Microsoft.ServiceBus.Messaging.MessagingEntityNotFoundException was unhandled
  HResult=-2146233088
  Message=40400: Endpoint not found..TrackingId:1271f18d-3fa7-4437-9f86-7276ff5909b4_Gsqldev1,TimeStamp:16/03/2013 19:05:33
  Source=Microsoft.ServiceBus
  IsTransient=false
  StackTrace:
       at Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessageSender.EndSendCommand(IAsyncResult result)
       at Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessageSender.OnEndSend(IAsyncResult result)
       at Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessageSender.OnSend(TrackingContext trackingContext, IEnumerable`1 messages, TimeSpan timeout)
       at Microsoft.ServiceBus.Messaging.MessageSender.Send(TrackingContext trackingContext, IEnumerable`1 messages, TimeSpan timeout)
       at Microsoft.ServiceBus.Messaging.MessageSender.Send(BrokeredMessage message)
       at Microsoft.ServiceBus.Messaging.QueueClient.Send(BrokeredMessage message)
       at WindowsServerEventBus.Program.Main(String[] args) in c:\Users\user\Downloads\EventStore-master\EventStore-master\src\WindowsServerEventBus\Program.cs:line 78
       at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
       at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException: System.ServiceModel.FaultException
       HResult=-2146233087
       Message=40400: Endpoint not found..TrackingId:1271f18d-3fa7-4437-9f86-7276ff5909b4_Gsqldev1,TimeStamp:16/03/2013 19:05:33
       Source=Microsoft.ServiceBus
       Action=http://schemas.microsoft.com/servicebus/2010/08/protocol/Fault
       StackTrace:
         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.DuplexCorrelationAsyncResult.End(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.Common.AsyncResult`1.End(IAsyncResult asyncResult)
            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.Common.AsyncResult`1.End(IAsyncResult asyncResult)
            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.Common.AsyncResult`1.End(IAsyncResult asyncResult)
            at Microsoft.ServiceBus.Messaging.Channels.ReconnectBindingElement.ReconnectChannelFactory`1.RequestSessionChannel.EndRequest(IAsyncResult result)
            at Microsoft.ServiceBus.Messaging.Sbmp.SbmpTransactionalAsyncResult`1.<GetAsyncSteps>b__36(TIteratorAsyncResult thisPtr, IAsyncResult a)
            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.Common.AsyncResult`1.End(IAsyncResult asyncResult)
            at Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessageSender.EndSendCommand(IAsyncResult result)
       InnerException: 

2 个答案:

答案 0 :(得分:9)

您可以使用NameSpaceManager在代码中创建队列。

namespaceManager.CreateQueue("WowWowWee");

答案 1 :(得分:0)

如果您使用NimbusAPI自动创建Azure服务总线主题,则未订阅的主题会在367天后自动删除,因为它处于空闲状态。要解决此问题,请重新启动该服务,它应该还原任何缺少的主题。