Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Beheben von Ausnahmefehlern in einer NETCONF-Java-Anwendung

In den folgenden Abschnitten werden Ausnahmefehler beschrieben, die beim Ausführen eines NETCONF-Java-Toolkit-Programms auftreten können. In diesen Abschnitten werden auch mögliche Ursachen und Lösungen für jeden Fehler vorgestellt.

Fehlerbehebung bei Verbindungsfehlern: Zeitüberschreitung des Sockets

Problem

Beschreibung

Eine NETCONF-Ausnahme tritt auf, und die folgende Fehlermeldung wird angezeigt:

Ursache

Mögliche Ursachen für den Socket-Timeout-Fehler sind:

  • Das Gerät oder die Schnittstelle, mit der Sie eine Verbindung herstellen, ist ausgefallen oder nicht verfügbar.

  • Die IP-Adresse oder der Hostname in den Argumenten für das Device Objekt ist falsch.

  • Der Wert für das Verbindungstimeout wurde überschritten, bevor die Verbindung hergestellt wurde.

Lösung

Stellen Sie sicher, dass das Gerät betriebsbereit ist. Überprüfen Sie außerdem, ob die IP-Adresse oder der Hostname in den Argumenten des Device Konstruktors im Programmcode korrekt ist.

Der Standardwert für die Zeitüberschreitung beim Herstellen einer Verbindung mit einem Gerät beträgt 5000 Millisekunden. Um den Timeoutwert auf ein größeres Intervall festzulegen, um sicherzustellen, dass das Programm genügend Zeit zum Herstellen der Verbindung hat, rufen Sie die setTimeOut() Methode für das Geräteobjekt auf. Mit dem folgenden Code wird das Timeoutintervall auf 10 Sekunden festgelegt:

Fehlerbehebung bei Verbindungsfehlern: Keine Verbindung

Problem

Beschreibung

Eine IllegalStateException-Ausnahme tritt auf, und die folgende Fehlermeldung wird angezeigt:

Ursache

Mit dem Remotegerät wurde keine SSHv2-Verbindung oder NETCONF-Sitzung hergestellt.

Lösung

Rufen Sie die connect() Methode für das Geräteobjekt auf, um eine SSHv2-Verbindung und eine Standard-NETCONF-Sitzung mit dem Gerät herzustellen, auf dem der NETCONF-Server ausgeführt wird. Sobald die Verbindung und die Sitzung hergestellt sind, sollte die RPC-Ausführung erfolgreich sein.

Fehlerbehebung bei Authentifizierungsfehlern

Problem

Beschreibung

Eine NETCONF-Ausnahme tritt auf, und die folgende Fehlermeldung wird angezeigt:

Ursache

Eine Fehlermeldung für eine fehlgeschlagene Authentifizierung kann mehrere mögliche Ursachen haben, einschließlich der folgenden:

  • Die Host- oder Authentifizierungsdetails, die als Argumente an den Device Konstruktor übergeben werden, sind falsch im Programmcode eingegeben.

  • Die Argumente für das Device Objekt sind korrekt, aber auf dem Gerät, mit dem Sie eine Verbindung herstellen, wurde kein entsprechendes Benutzerkonto erstellt.

Lösung

Wenn auf dem Gerät, mit dem Sie eine Verbindung herstellen, kein Benutzerkonto vorhanden ist, erstellen Sie das Konto mit der entsprechenden Authentifizierung. Weitere Informationen zum Konfigurieren von Benutzerkonten auf einem Gerät, auf dem Junos OS ausgeführt wird, finden Sie im Junos OS-Benutzerzugriffs- und Authentifizierungsbenutzerhandbuch für Routing-Geräte .

Wenn das Benutzerkonto auf dem Remotegerät vorhanden ist, aber die Argumente für den Device Konstruktor falsch im Programmcode eingegeben wurden, korrigieren Sie die Argumente, und kompilieren Sie das Programm neu.

Fehlerbehebung bei NETCONF-Sitzungsfehlern

Problem

Beschreibung

Eine NETCONF-Ausnahme tritt auf, und die folgende Fehlermeldung wird angezeigt:

Ursache

NETCONF über SSH ist möglicherweise nicht auf dem Gerät aktiviert, auf dem sich der NETCONF-Server befindet, oder es ist möglicherweise auf einem anderen Port aktiviert.

Lösung

Stellen Sie sicher, dass Sie NETCONF über SSH auf dem Gerät aktiviert haben, auf dem sich der NETCONF-Server befindet. Wenn Ihr NETCONF-Java-Toolkit-Programm keine bestimmte Portnummer in den Device Argumenten angibt, wird die NETCONF-Sitzung auf dem Standard-NETCONF-over-SSH-Port 830 eingerichtet. Um zu überprüfen, ob NETCONF über SSH auf dem Standardport für ein Gerät mit Junos OS aktiviert ist, geben Sie den folgenden Betriebsmodusbefehl auf dem Remotegerät ein:

Wenn die netconf Konfigurationshierarchie nicht vorhanden ist, geben Sie im Konfigurationsmodus die folgenden Anweisungen aus, um NETCONF über SSH auf dem Standardport zu aktivieren:

Wenn die netconf Konfigurationshierarchie einen anderen Port als den Standardport angibt, sollten Sie die neue Portnummer in die Device Objektkonstruktorargumente aufnehmen. Beispielsweise ist das folgende Gerät für NETCONF über SSH an Port 12345 konfiguriert:

Um das Verbindungsproblem zu beheben, fügen Sie die neue Portnummer in die Device Argumente ein.