Fehler beim Implementieren von Nachrichtenflüssen oder Nachrichtengruppen beheben

  1. Um Fehler beim Implementieren zu beheben, müssen Sie folgende Protokolle überprüfen:
    • Das Ereignisprotokoll der Brokerdomäne
    • Das lokales Fehlerprotokoll (Windows-Ereignisprotokoll oder das Systemprotokoll)
    • Die WebSphere MQ-Protokolle

    Diese Protokolle befinden sich möglicherweise auf unterschiedlichen Systemen und müssen in Verbindung mit der Ausgabe der Workbench verwendet werden, um sicherzustellen, dass die Implementierung erfolgreich war.

    Verwenden Sie den Befehl mqsilist, um zu überprüfen, ob die Implementierung erfolgreich war, oder schauen Sie im Windows-Ereignisprotokoll bzw. im Ereignisprotokoll der Brokerdomäne nach.

  2. Verwenden Sie folgende Checkliste, wenn Sie Implementierungsprobleme haben:
    • Vergewissern Sie sich, dass der ferne Warteschlangenmanager aktiv ist.
    • Vergewissern Sie sich, dass die Kanäle aktiv sind.
    • Zeigen Sie den Kanalstatus an, um zu sehen, ob sich die Anzahl der gesendeten Systemnachrichten erhöht.
    • Überprüfen Sie den Kanal vom fernen Ende aus.
    • Überprüfen Sie den Namen des Warteschlangenmanagers.
    • Stellen Sie fest, ob der Kanal ein Clusterkanal ist.

Dieses Thema enthält Lösungsvorschläge für einige häufig auftretende Probleme, die beim Implementieren von Nachrichtenflüssen oder Nachrichtengruppen entstehen können.
Vorbereiten der Implementierung:
Während der Implementierung:
Implementierung abbrechen:
Nach der Implementierung:

Migrierte Nachrichtenflüsse sind nicht zum Hinzufügen in ein Brokerarchiv verfügbar

Beim Hinzufügen eines Wörterbuchs in eine Brokerarchivdatei wird ein Fehler ausgegeben

Sie können eine Brokerarchivdatei nicht durch Drag-and-drop an einen Broker übergeben

Sie können einen Nachrichtenfluss, der einen Plug-in-Nachrichtenfluss verwendet, nicht implementieren

Die kompilierte Nachrichtenflussdatei (CMF-Datei) wurde nicht generiert

Der Nachrichtenfluss wird auf dem Testsystem implementiert, aber anderswo nicht

Ihre Implementierung gibt an, dass der Broker nicht vorhanden ist

Der Konfigurationsmanager versucht, eine Implementierung in einem Broker durchzuführen, der nicht vorhanden ist

Der Konfigurationsmanager hat die Speicherkapazität überschritten

Beim Implementieren eines Version 2.1-Brokers wird ein Korrelationsnamensfehler ausgegeben

Beim Implementieren unter z/OS werden Fehlernachrichten ausgegeben

Die erwartete serielle Verarbeitung der Eingabe findet für eine gemeinsam genutzte Warteschlange, die mehrere Instanzen eines Nachrichtenflusses unter z/OS bedient, nicht statt

MQe-Knoten funktionieren nach dem Implementieren in einem Broker mit Version 6.0 nicht mehr so wie erwartet.

Beim Implementieren werden Fehlernachrichten ausgegeben

Die Fehlernachrichten, die möglicherweise während einer Implementierung generiert werden, sind im Folgenden zusammen mit Erläuterungen aufgelistet:

Nachricht BIP1106 mit WebSphere MQ-Ursachencode 2030
  • Szenario: Beim Implementieren einer großen Nachrichtengruppe wird Fehlernachricht BIP1106 mit Ursachencode 2030 ausgegeben.
  • Erläuterung: Die Nachrichtenlänge überschreitet die maximal zulässige Nachrichtenlänge der Übertragungswarteschlange für den Warteschlangenmanager des Brokers.
  • Lösung: Erhöhen Sie die maximal zulässige Nachrichtenlänge für die Übertragungswarteschlange wie folgt mit dem Befehl WebSphere MQ alter qlocal , wobei die maximal zulässige Nachrichtenlänge in Byte angegeben wird:
    alter ql(Name_der_Übertragungswarteschlange) maxmsgl(104857600) 
    Weitere Informationen zu diesem Befehl finden Sie im WebSphere MQ System Administration Guide.
Nachricht BIP1106 mit WebSphere MQFehler AMQ7463
  • Szenario: Beim Implementieren einer großen Nachrichtengruppe in einem Broker, der denselben Warteschlangenmanager benutzt wie derKonfigurationsmanager, wird Fehlernachricht BIP1106 mit Ursachencode 2102 ausgegeben. Außerdem wird WebSphere MQ-Fehlernachricht AMQ7463 mit folgendem Text ausgegeben: Das Protokoll für Warteschlangenmanager <Warteschlangenmanager> ist voll.
  • Lösung:
    1. Stoppen Sie den Konfigurationsmanager mit dem Befehl mqsistop.
    2. Stoppen Sie den Broker mit dem Befehl mqsistop.
    3. Stoppen Sie den Warteschlangenmanager mit Hilfe des Befehls WebSphere MQ amqmdain: amqmdain end <queue manager>
    4. Starten Sie die WebSphere MQ-Services über das Menü Start, indem Sie auf Start > Programme > IBM WebSphere MQ > WebSphere MQ Services klicken.
    5. Klicken Sie mit der rechten Maustaste auf den Warteschlangenmanager, und klicken Sie auf Eigenschaften und anschließend auf die Registerkarte Protokoll.
    6. Erhöhen Sie die Anzahl der Primär- und Sekundärdateien, so dass die Gesamtgröße größer als die Implementierungsnachricht ist.
    7. Starten Sie den Konfigurationsmanager mit dem Befehl mqsistart erneut.
    8. Starten Sie den Broker mit dem Befehl mqsistart erneut.
    9. Starten Sie den Warteschlangenmanager mit Hilfe des Befehls WebSphere MQ amqmdain erneut: amqmdain start <queue manager>
Nachricht BIP1538E
  • Szenario: Beim Implementieren einer großen Nachrichtengruppe wird Fehlernachricht BIP1538E mit Ursachencode 2218 ausgegeben.
  • Erläuterung: Die Nachrichtenlänge überschreitet die auf dem Kanal maximal zulässige Nachrichtenlänge.
  • Lösung: Erhöhen Sie den Kanalparameter maxmsgl wie folgt für beide Kanalpaare an beiden Enden:
    1. Rufen Sie im Warteschlangenmanager des Konfigurationsmanagers den Befehl WebSphere MQ alter channel auf. Beispiel:
      alter chl(CM_to_BRK) chltype(sdr) MAXMSGL(104857600) 
      alter chl(BRK_to_CM) chltype(rcvr) MAXMSGL(104857600) 
    2. Rufen Sie im Brokerwarteschlangenmanager den Befehl WebSphere MQ alter channel auf.Beispiel:
       alter chl(BRK_to_CM) chltype(sdr) MAXMSGL(104857600) 
       alter chl(CM_to_BRK) chltype(rcvr) MAXMSGL(104857600)
    3. Stoppen Sie die einzelnen Kanäle, und starten Sie sie erneut, damit diese Änderungen übernommen werden.
Nachricht BIP1536
  • Szenario: Sie haben den Konfigurationsmanager für die Ausführung mit einer Benutzer-ID und einen Broker für die Ausführung auf einem anderen System mit einer anderen Benutzer-ID definiert. Die Implementierung erfolgt zwar, aber wenn sie Nachrichtenflüsse und Nachrichtengruppen im Broker implementieren, wird Fehlernachricht BIP1536 ausgegeben.
  • Erläuterung: Der Konfigurationsmanager kann keine internen Subskriptionen im Broker eintragen, weil der Broker unter einer anderen Benutzer-ID als der Konfigurationsmanager ausgeführt wird. Interne Nachrichten werden zwischen dem Broker und dem Konfigurationsmanager über die Funktion Publish/Subscribe weitergeleitet. Diese Nachrichten werden durch WebSphere MQ übertragen, für das bestimmte Berechtigungen erforderlich sind.
  • Lösung:
    • Stellen Sie sicher, dass die Benutzer-ID des Brokers zu den Gruppen mqm und mqbrkrs gehört.
    • Definieren Sie die Benutzer-ID des Brokers auf dem System, auf dem der Konfigurationsmanager ausgeführt wird.
    • Definieren Sie die Benutzer-ID des Konfigurationsmanagers auf dem System, auf dem der Broker ausgeführt wird.
    • Stellen Sie sicher, dass alle IDs in Kleinbuchstaben geschrieben wurden, damit sie auf den verschiedenen Systemen kompatibel sind.
Nachricht BIP1536 mit NachrichtBIP7017
  • Szenario: Sie erhalten die Fehlernachrichten BIP1536 und BIP7017.
  • Erläuterung: Bei der Registrierung der internen Subskriptionen des Konfigurationsmanager für Themen, die die Statusänderung des Brokers betreffen, die jedes Mal versucht wird, wenn Sie eine vollständige Konfiguration implementieren, tritt ein Fehler auf. Die Ursache des Problems wird durch die Nachricht BIP7017 angezeigt. In dieser Nachricht wird angegeben, dass die Implementierung mit einem konfigurierten Benutzernamensserver ausgeführt wird, dass jedoch im Benutzercache des Brokers, den Sie implementieren, nicht die Servicebenutzer-ID des Konfigurationsmanagers enthalten ist.
  • Lösung: Führen Sie folgende Überprüfungen durch. Wenn Sie den Fehler identifizieren und beheben, werden die Subskriptionen bei der nächsten Implementierung richtig registriert:
    • Stellen Sie sicher, dass der Benutzernamensserver-Broker gestartet ist.
    • Stellen Sie sicher, dass die WebSphere MQ-Kanäle zwischen dem Benutzernamensserver und dem Broker gestartet sind.
    • Stellen Sie sicher, dass die Benutzer-ID in der Domäne des Benutzernamensservers vorhanden ist.
Nachricht BIP1835
  • Szenario: Fehlernachricht BIP1835 wird angezeigt.
  • Erläuterung: Die Nachrichtengruppe, die Sie implementieren, erzeugt ein Nachrichtengruppen-Dictionary, das den internen Grenzwert von 4 MB überschreitet. Dies könnte darauf zurückzuführen sein, dass Sie für dieselbe Nachrichtengruppe viele große Nachrichtendefinitionen definiert haben.

    Aus der Größe einer exportierten Nachrichtengruppe lässt sich schlecht auf die Größe des Nachrichtengruppen-Dictionarys schließen, das während der Implementierung generiert wird, da die exportierte Nachrichtengruppe im XML-Format gespeichert wird. Diese kann sehr ausführlich sein, das Dictionary hat jedoch ein viel kompakteres internes Format.

  • Lösung: Teilen Sie die Nachrichtendefinitionen in mehrere kleinere Nachrichtengruppen auf.
Nachricht BIP2045
  • Szenario: Fehlernachricht BIP2045 wird angezeigt.
  • Erläuterung: Diese Nachricht besagt, dass ein Versuch unternommen wurde, einen Broker einem zweiten (bzw. erneut initialisierten)Konfigurationsmanager zuzuordnen.

    Jeder Broker wird durch eine global eindeutige ID (UUID: universally unique identifier) identifiziert, welche zugewiesen wird, wenn Message Brokers Toolkit bzw. Konfigurationsmanager-Proxy eine Definition für den Broker erstellen. Wenn die Implementierung erfolgt, wird eine UUID-Überprüfung durchgeführt, um einer versehentlichen Implementierung von Änderungen in Brokern vorzubeugen, die sich nicht unter Kontrolle des Konfigurationsmanagers befinden. Wenn Sie den Fehler BIP2045 empfangen haben, ist die Implementierungsnachricht an einen Broker mit einer UUID adressiert worden, aber von einem Broker verarbeitet worden, der eine andere UUID erwartet hat.

  • Lösung: Schicken Sie, wenn möglich, die Implementierungsanforderung erneut ab, und zwar, indem Sie den Konfigurationsmanager verwenden, der dieser Broker verwaltet.

    Wenn das nicht möglich ist, verwenden Sie die Konfigurationsmanager-Proxy-API-Methode BrokerProxy.setUUID(), um als UUID in der Broker-Definition des Konfigurationsmanagers diejenige UUID zu setzen, die der Broker erwartet. Diese API kann auch mit dem API-Mustertestprogramms Konfigurationsmanager-Proxy aufgerufen werden.

    Der Aufruf dieser Methode erlaubt dem Konfigurationsmanager die Implementierung bei diesem Broker, wenngleich Ressourcen, die vorher bei diesem Broker implementiert worden sind, nicht vom Konfigurationsmanager überwacht werden (es sei denn, sie wurden ohnehin schon überwacht).

    Wenn die Implementierung immer noch nicht möglich ist, befolgen Sie diese Schritte:
    1. Löschen Sie die Broker-Komponente, ihre Konfigurationstabellen und ihren Warteschlangenmanager.
    2. Entfernen Sie die Broker-Definition mit Message Brokers Toolkit oder Konfigurationsmanager-Proxy aus der Domäne.
    3. Implementieren Sie die Topologie erneut.
    4. Erstellen Sie die Brokerkomponente erneut und fügen Sie mit Message Brokers Toolkit oder Konfigurationsmanager-Proxy einen Verweis auf sie hinzu.
    5. Implementieren Sie betroffene Ressourcen erneut beim Broker.

    Um zu verhindern, dass dieses Problem erneut auftaucht, wenn Sie Broker löschen oder erneut erstellen, entfernen Sie stets die Brokerdefinition aus der Domäne, und implementieren Sie die Topologie erfolgreich,bevor die laufende Brokerkomponente gestoppt und gelöscht wird.

Fehler BIP2066
  • Szenario: Fehlernachricht BIP2066 wird angezeigt.
  • Erläuterung: Die Implementierungsanforderung wurde von der Ausführungsgruppe nicht bestätigt, bevor das Brokerzeitlimit Konfigurationszeitlimit plus der Konfigurationszeitlimitverzögerung (Standardwert 60 Sekunden) abgelaufen war.
  • Lösung: Ändern Sie diese Zeitlimits mit Hilfe der Flags -g und -k der Befehle mqsicreatebroker und mqsichangebroker.
Fehler BIP2242
  • Szenario: Die Fehlernachricht BIP2242 wird angezeigt.
  • Erläuterung: Die Implementierungs- bzw. Konfigurationsänderungsanforderung wurde nicht akzeptiert, bevor das Brokerzeitlimit Konfigurationszeitlimit (Standardwert 300 Sekunden) abgelaufen war. Das Zeitlimit muss so lang sein, dass der Nachrichtenfluss die Verarbeitung der aktuellen Nachricht abschließen kann und dann die Implementierungsanforderung akzeptieren kann.
  • Lösung: Weitere Informationen zum Festlegen dieser Zeitlimits mit den Markierungen -g und -k der Befehle mqsicreatebroker und mqsichangebroker finden Sie im Abschnitt Befehle.
Prüfprogrammfehler vom Format 'Zeichenfolge mit Kennung/mit Begrenzer' (TDS)
  • Szenario: Sie versuchen, eine Nachrichtengruppe mit einem physischen TDS-Format einzusetzen, das einen Fehler enthält.
  • Erläuterung: Der folgende Auszug aus einem Fehlerprotokoll veranschaulicht, was bei einem TDS-Prüfprogrammfehler möglicherweise angezeigt wird. In diesem Fall wird der Fehler dadurch verursacht, dass für das Element Town keine Kennung definiert ist.
    TDS Extractor Trace File
    ========================
    
    Beginning Extract..
    
    Extracting Identification Info
    Extracting Project Info
    Extracting Messages
    Extracting Elements
    Extracting Compound Types
    Extracting Type Members
    Extracting Type Members
    Extracting Type Members
    Extracting Type Members
    Extracting Type Members
    Beginning Indexing..
    
    Creating Member IDs to Tags Index Table.
    
    Beginning Validation..
    
    Validating Project
    Validating Types
    ERROR: TDSValidator::ValidateTypeMemberSimpleElement:
      Simple elements in a type with Data Element Separation attribute = Tagged 
      Delimited must have the following attribute set:
      Element Level - Tag
    (Element ID: Town)
    (Type ID: AddressType)
    Return Code: -80
    
    Validating Messages
    
    Trace Info
    ===========
    EXCEPTION: TDSValidator::Validate:
      TDS Validation failed.
        1 errors
        0 warnings
    Return Code: -1
  • Lösung: Bedienen Sie sich der Informationen im Fehlerprotokoll, um das Problem zu beheben.

Die Fehlernachricht BIP2432E wird ausgegeben, wenn Sie einen Nachrichtenfluss von Version 6.0 Konfigurationsmanager aus in einem Broker mit Version 2.1 implementieren.

Bei einem Abbruch des Implementierens wird in mqsilist zwar ein Nachrichtenfluss in einer Ausführungsgruppe, jedoch nicht in den Tools angezeigt.

Das Ergebnis einer Implementierung wird Ihnen nicht mitgeteilt

Sie erhalten nicht die Bestätigung, dass die Implementierung erfolgreich war

Sie können keine implementierten Nachrichtenflüsse oder Nachrichtengruppen sehen

Ein gelöschter Broker bleibt im Domänennavigator

Der XMLUmsetzungsknoten funktioniert nach dem Implementieren nicht mehr

Es gibt zwei Szenarios, mit denen erläutert werden kann, warum der XMLUmsetzungsknoten nach dem Implementieren nicht mehr funktioniert:

Es werden Fehlernachrichten angezeigt, die angeben, dass die Style-Sheets nicht gefunden wurden.

Sie erhalten nicht erwartete Ergebnisse bei der Umsetzung.

  • Szenario: Sie erhalten nicht erwartete Ergebnisse bei der Umsetzung.
  • Erläuterung: Bei komplexen Nachrichtenflüssen kann nach dem Implementieren unter Style-Sheets und XML-Dateien eine Inkompatibilität auftreten. Hierfür gibt es zwei mögliche Ursachen:
    • Es wurden nur Teile der kooperierenden Style-Sheets oder XML-Dateien implementiert und aktualisiert (dies kann durch einen Fehler im Dateisystem verursacht werden).
    • Mehrere XMLT-Knoten, die in der gleichen Ausführungsgruppe ausgeführt werden, sollen kompatible Style-Sheets verwenden, aber stattdessen werden verschiedene Versionen verwendet, um die gleiche eingehende Nachricht zu verarbeiten.
  • Lösung: Wenn nur Teile der kooperierenden Style-Sheets oder XML-Dateien implementiert und aktualisiert wurden, können Sie die Inkompatibilität beheben, indem Sie die kompatiblen Versionen erneut implementieren. Um zu vermeiden, das mehrere XMLT-Knoten unterschiedliche Versionen eines Style-Sheets verwenden, halten Sie alle relevanten Nachrichtenflüsse in der Zielausführungsgruppe vor dem Implementieren an, und starten Sie die Nachrichtenflüsse anschließend erneut.
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2005 Letzte Aktualisierung: Nov 17, 2005
au16540_