Fehler bei Ausführung eines Beispielprogramms diagnostizieren

In diesem Abschnitt wird beschrieben, wie Sie Fehler diagnostizieren können, wenn Sie das Beispielprogramm ausführen und nicht das korrekte Ergebnis erzielen. Befolgen Sie nachfolgende Anweisungen.

  1. Verwenden Sie den Explorer von WebSphere MQ, um die Warteschlange zu ermitteln, in der sich die Eingabenachricht befindet:
    1. Starten Sie WebSphere MQ Explorer.
    2. Erweitern Sie im WebSphere MQ Explorer die Ordner zur Anzeige des Warteschlangenmanagers des Brokers, WBRK_DEFAULT_QUEUE_MANAGER.
    3. Klicken Sie auf den Ordner Queues des Warteschlangenmanagers, um seine Warteschlangen anzuzeigen.
    4. Überprüfen Sie die Spalte Current depth, um die Warteschlange zu identifizieren, die die Eingabenachricht enthält. Wenn sich in einer Warteschlange mehrere Nachrichten befinden, klicken Sie mit der rechten Maustaste auf Nachrichten durchsuchen, um festzulegen, ob sich die Nachricht, an der Sie interessiert sind, in der Warteschlange befindet.
  2. In der folgenden Tabelle finden Sie eine Auflistung möglicher Fehler und die jeweiligen Fehlerbehebungsmaßnahmen. Wenn Ihr Beispielprogramm keine Datenbank verwendet, ignorieren Sie die datenbankbezogenen Fehler in der Tabelle.
  3. Wenn Sie das Problem mit Hilfe der Tabelle nicht lösen konnten, kehren Sie zum Nachrichtenbroker-Toolkit zurück, und überprüfen Sie die Ansicht 'Probleme' auf Fehlernachrichten. Verwenden Sie diese Informationen zur Fehlerbehebung.
  4. Wenn Sie das Beispielprogramm selbst erstellt haben, müssen Sie gegebenenfalls überprüfen, ob alle Objekte im Beispielprogramm korrekt konfiguriert wurden und ob die Objektnamen korrekt sind.
Fehler Ursache Fehlerbehebungsmaßnahme
Die Eingabenachricht verbleibt in der IN-Warteschlange. Der Broker, Konfigurationsmanager, Warteschlangenmanager, das Empfangsprogramm oder der Nachrichtenfluss selbst wurden gestoppt. Stellen Sie sicher, dass alle Komponenten aktiv sind und das Empfangsprogramm des Warteschlangenmanagers am Port des Warteschlangenmanagers empfangsbereit ist. Starten Sie die Komponenten, die nicht aktiv sind.
In der IN-Warteschlange befindet sich eine nicht identifizierbare Nachricht, die vom Nachrichtenfluss nicht verarbeitet werden kann. Klicken Sie im WebSphere MQ Explorer mit der rechten Maustaste auf die IN-Warteschlange und anschließend auf Alle Tasks > Nachrichten löschen.
Die Eingabenachricht wird an die FAIL-Warteschlange übergeben. Der MQEmpfangsknoten kann den Parser für die syntaktische Analyse der Nachricht nicht identifizieren. Wenn Sie die Funktion zur Warteschlangeneinreihung in der Workbench oder das Tool 'RfhUtil', das in Support Pac IH03 zur Verfügung gestellt wird, verwenden, müssen Sie alle erforderlichen Nachrichtenheaderdaten in den Feldern im Tool eingeben.
Bei Verwendung des Tools 'mqsiput.exe' müssen Sie die Headerdaten zur Nachrichtendatei hinzufügen.
Die Eingabenachricht wird an die Warteschlange SYSTEM.DEAD.LETTER.QUEUE übergeben Die Warteschlange, in die die Eingabenachricht gestellt werden sollte, existiert nicht. Stellen Sie sicher, dass Sie alle für das Beispielprogramm erforderlichen Warteschlangen erstellt haben.
Sie können die Eingabenachricht in keiner Warteschlange finden. Entweder haben Sie die Anzeige in WebSphere MQ Explorer nicht aktualisiert, oder Sie haben nur einige der Warteschlangen aktualisiert. Klicken Sie mit der rechten Maustaste auf den Ordner Warteschlangen und anschließend auf Aktualisieren, um alle Warteschlangen in WebSphere MQ Explorer zu aktualisieren. Wenn Sie in WebSphere MQ Explorer Version 5.3 mit der rechten Maustaste auf eine Warteschlange und anschließend auf Aktualisieren klicken, wird nur die ausgewählte Warteschlange aktualisiert; in WebSphere MQ Explorer Version 6.0 werden bei einem Klick auf Aktualisieren alle Warteschlangen im Ordner aktualisiert.
Die Eingabenachricht wurde an ein Terminal übergeben, das mit keinem anderen Knoten verbunden ist, und die Nachricht wurde verworfen. Stellen Sie sicher, dass den Erfordernissen des Beispielprogramms entsprechend Verbindungen zwischen den Knoten bestehen.
Die Eingabenachricht wird entweder an die FAIL-Warteschlange übergeben, und/oder im Ereignisprotokoll ist eine Nachricht enthalten, die anzeigt, dass die Datenbank nicht gefunden werden konnte. DB2 ist nicht aktiv. Geben Sie in einem DB2-Befehlsfenster folgenden Befehl ein:
db2 start
Wenn DB2 bereits aktiv ist, wird folgende Nachricht angezeigt:
'Der Datenbankmanager ist bereits aktiv'.
Der Nachrichtenfluss versucht, auf eine Datenbanktabelle zuzugreifen, die nicht im Standardschema enthalten ist. Der Name des Standardschemas entspricht dem Benutzernamen, der für den Zugriff auf die Datenbank verwendet wird. Wenn die Tabelle nicht im Standardschema enthalten ist, und kein anderes Schema im ESQL-Code des Nachrichtenflusses angegeben ist, sucht der Nachrichtenfluss im Standardschema nach der Tabelle.

Geben Sie in einem DB2-Befehlsfenster folgende Befehle ein:
DB2 "CONNECT TO Datenbankbenutzer Benutzername"
DB2 "CREATE VIEW Tabellenname AS SELECT * FROM Tabellenschema.Tabellenname"
Dabei ist Tabellenschema das Schema, das die Tabelle enthält, auf die der Nachrichtenfluss zugreift, Benutzername der Benutzername des Brokers und Tabellenname die Tabelle, auf die der Nachrichtenfluss zugreift.