Die Hinweise in diesem Abschnitt sollen Ihnen beim Beheben von Problemen helfen, die häufig beim Ausführen und Entfernen von Mustercodes auftreten.
Gehen Sie zur Diagnose eines Problems wie folgt vor:
Problem | Reason | Lösungsvorschlag |
---|---|---|
Die Eingabenachricht verbleibt in der Eingabewarteschlange. | Der Broker, der Warteschlangenmanager, der Listener oder der Nachrichtenfluss wurde gestoppt. | Überprüfen Sie, ob alle Komponenten ausgeführt werden und der Listener des Warteschlangenmanagers am Port des Warteschlangenmanagers empfangsbereit ist. Starten Sie alle Komponenten, die nicht aktiv sind. |
Eine in der Eingabewarteschlange enthaltene nicht identifizierbare Nachricht kann vom Nachrichtenfluss nicht verarbeitet werden. | Klicken Sie in WebSphere MQ Explorer mit der rechten Maustaste auf die Eingabewarteschlange und klicken Sie dann auf (Alle Tasks, Nachrichten löschen). | |
Die Eingabenachricht wurde an die Fehlerwarteschlange gesendet. | Der MQInput-Knoten kann nicht feststellen, mit welchem Parser die Nachricht syntaktisch analysiert werden muss. | Wenn Sie das Tool 'In Warteschlange einreihen' der Workbench oder das durch SupportPac IH03 bereitgestellte Tool 'RfhUtil' verwenden, müssen Sie alle erforderlichen Nachrichtenheader-Informationen in die Felder des Tools eingeben. Wenn Sie das Tool mqsiput.exe verwenden, müssen Sie die Header-Informationen in die Nachrichtendatei einfügen. |
Die Eingabenachricht wurde an die Warteschlange SYSTEM.DEAD.LETTER.QUEUE gesendet. | Die Warteschlange, an die die Eingabenachricht gesendet werden sollte, existiert nicht. | Stellen Sie sicher, dass Sie alle vom Mustercode benötigten Warteschlangen erstellt haben. |
Sie können die Eingabenachricht in keiner Warteschlange finden. | Sie haben die Anzeige von WebSphere MQ Explorer nicht aktualisiert oder Sie haben nur einige Warteschlangen aktualisiert. | Klicken Sie zur Aktualisierung aller Warteschlangen in WebSphere MQ Explorer mit der rechten Maustaste auf den Warteschlangenordner und klicken Sie dann auf Aktualisieren. Dadurch werden alle Warteschlangen im Ordner aktualisiert. |
Die Eingabenachricht wurde an ein Terminal geleitet, das mit keinem anderen Knoten verbunden ist, und die Nachricht wurde gelöscht. | Stellen Sie sicher, dass alle Knoten nach den Anforderungen des Mustercodes miteinander verbunden sind. | |
Bei Verwendung einer DB2-Datenbank wird die Eingabenachricht an die Fehlerwarteschlange gesendet und/oder das Ereignisprotokoll enthält eine Nachricht, die darauf hinweist, dass die Datenbank nicht gefunden wurde. | DB2 ist nicht aktiv. | Geben Sie in einem DB2-Befehlsfenster folgenden Befehl ein:
Wenn DB2 bereits aktiv ist, erhalten Sie folgende Nachricht:
|
Der Nachrichtenfluss versucht auf eine Datenbanktabelle zuzugreifen, die nicht im Standardschema enthalten ist. Der Name des Standardschemas ist identisch mit dem Benutzernamen, unter dem auf die Datenbank zugegriffen wird. Wenn in der ESQL des Nachrichtenflusses kein anderes Schema angegeben ist, sucht der Nachrichtenfluss die Tabelle im Standardschema. | Geben Sie in einem DB2-Befehlsfenster folgende Befehle ein:
Dabei gilt Folgendes:
|
|
Sie erhalten folgende Fehlernachrichten, wenn Sie unter Windows versuchen, eine DB2-Datenbank zu entfernen: BIP9830I: Deleting the DB2 Database Datenbankname. BIP9835E: The DB2 batch command failed with the error code SQLSTATE=57019. The database could not be created/deleted. The error code SQLSTATE=57019 was returned from the DB2 batch command. |
Wenn Sie für eine Abfrage die DB2-Steuerzentrale verwenden, wird eine Verbindung zur Datenbank geöffnet. Diese Verbindung wird erst beendet, wenn die DB2-Steuerzentrale geschlossen wird. | Schließen Sie die DB2-Steuerzentrale. Möchten Sie sofort versuchen, den Mustercode zu entfernen, klicken Sie auf Ja. |
Sie führen den Mustercode eines Web-Service über das vordefinierte Testclientszenario aus; die Ausführung wird blockiert und schließlich kommt es zu einer Zeitlimitüberschreitung. | Das Problem tritt auf, wenn ein SOAPInput-Knoten von einem SOAPRequest-Knoten aufgerufen wird. Die Web-Services verwenden standardmäßig Port 7800 und die SOAPRequest-Knoten sind für die Verwendung dieses Ports konfiguriert. Falls dieser Port jedoch beispielsweise von einem anderen Beispiel bereits verwendet wird, wird die Portnummer automatisch um eins erhöht. Deshalb muss der Standardport auch geändert werden. |
Geben Sie den folgenden
mqsireportproperties-Befehl in einer Zeile ein, um zu überprüfen,
welchen Port Ihre Provider-Ausführungsgruppe verwendet:
Dabei ist Musterausführungsgruppe die entsprechende Ausführungsgruppe für den Mustercode, der ausgeführt wird.
Um zu überprüfen, ob der SOAPRequest-Knoten den richtigen Port zum Aufrufen des Provider-Nachrichtenflusses verwendet, ändern Sie den Port der SOAPRequest-Knoten in den Port, den die Provider-Ausführungsgruppe verwendet. Gehen Sie hierzu wie folgt vor:
Wenn Sie einen TCP/IP-Monitor eingerichtet haben, haben Sie bereits überprüft, welcher Port vom Web-Service-Provider verwendet wird; Sie müssen jedoch noch den Konsumenten so konfigurieren, dass die Nachrichten an diesen TCP/IP-Monitor gesendet werden; anschließend müssen Sie die BAR-Datei erneut erstellen und implementieren. Sie können auch einen der Mustercodes, der denselben Port wie ein anderer Mustercode verwendet, entfernen, sodass immer nur ein Mustercode implementiert wird. |
In einigen Mustercodes wird die XML-Ausgabe im Testclient möglicherweise in einem anderen Format als in der Dokumentation angezeigt. | In allen Fällen sind die Ausgabedaten identisch, nur das Format ist verschieden. | Sie können das Format der Ausgabe ändern, indem Sie im Menü im Testclient Als Quelle anzeigen oder Als XML-Struktur anzeigen auswählen. |