2014-04-05 7 views
10

Ich versuche, eine Verbindung zu RabbitMQ mit EasyNetQ herzustellen. RabbitMQ ist auf Remote-VM.EasyNetQ veröffentlicht nicht in RabbitMQ - PersistentChannel hat keine Zeit

_rabbitBus = RabbitHutch.CreateBus(
    string.Format("host={0};virtualhost={1}", 
    _hostSettings.Host, _hostSettings.VHost), 
    x => x.Register<IEasyNetQLogger>(l => _logger)); 

_rabbitBus.Subscribe<Message>(_topic, ReceiveMessage, m => m.WithTopic(_topic)); 

Ich bekomme einen Timeout The operation requested on PersistentChannel timed out.. Remote VM antwortet auf Pings, die Ports 5672 und 15672 werden geöffnet (überprüft mit nmap). RabbitMQ-Management kann von meinem Host aus zugegriffen werden.

Auch wenn RabbitMQ auf meinem lokalen Computer ausgeführt wird, funktioniert es gut. Ich habe versucht, die Verbindung zu RabbitMQ auf meinem Computer von anderen PCs im LAN installiert, und es funktioniert auch.

Ich bin zu der Annahme gekommen, dass es sich um die Tatsache handelt, dass es sich um eine virtuelle Maschine handelt, und vielleicht ist etwas nicht in Ordnung. Aber wieder funktioniert das Web-Management von Rabbit gut.

Auch auf EasyNetQ Test-Anwendung getestet - funktioniert auf localhost, aber nicht auf Remote.

Ausgabe wie folgt:

DEBUG: Trying to connect 
ERROR: Failed to connect to Broker: '192.168.0.13', Port: 5672 VHost: '/'. 
     ExceptionMessage: 'None of the specified endpoints were reachable' 
ERROR: Failed to connected to any Broker. Retrying in 5000 ms 
  • EasyNetQ v0.28.4.242

Antwort

15

Wie Mike vorgeschlagen hatte ich dies und dann überprüft die Berechtigungen. „Gast“ Benutzer kann nur über den Local Host verbinden (siehe RabbitMQ Access Control.) Versuchen Sie einen Benutzer mit Berechtigungen mit der Management-Schnittstelle hinzugefügt und dann verbinden, wie unten

var _bus = RabbitHutch.CreateBus(string.Format("host={0};virtualhost={1};username={2};password={3}", 
_hostSettings.Host, _hostSettings.VHost, _hostSettings.UserName, _hostSettings.Password)); 
+0

Danke, wird es versuchen, so schnell wie möglich –

+1

Das hat mich gerettet, während zu verbracht haben viel Zeit bei der Untersuchung von Netzwerkproblemen aufgrund dieses Fehlers messaeg. Vielen Dank. – driis

+0

Danke dafür, ich hatte Leerzeichen in meiner Verbindungszeichenfolge, die die gleiche Fehlermeldung verursachen! – Scorch

8

Haben Sie Ihre Anmeldeinformationen überprüfen. Der standardmäßige Benutzername und das Passwort lauten 'Gast' und 'Gast'. Die Fehlermeldung ist nicht sehr hilfreich. Sie erhalten "Keiner der angegebenen Endpunkte waren erreichbar", wenn auch ein Authentifizierungsfehler vorliegt.