Nachrichten überprüfen

Bevor Sie beginnen, müssen Sie folgende Task(s) ausgeführt haben:

Die Konzeptthemen über Nachrichtenflussknoten und MRM-Parser und -Domäne lesen

Der Broker stellt eine Überprüfung zur Verfügung, die auf einem Nachrichtenverzeichnis für vordefinierte Nachrichten basiert. Die Gültigkeitsprüfung wird daher nur für Nachrichten durchgeführt, die Sie für die MRM-Domäne modelliert und definiert haben.

Der Broker bietet keine Gültigkeitsprüfung für selbstdefinierende Nachrichten. Nachrichten können nicht direkt durch ein XML DTD- oder ein XML-Schema geprüft werden. Stattdessen sollte das entsprechende Modell in der MRM-Domäne erstellt werden, indem das XML DTD- oder XML-Schema mit Hilfe von Message Brokers Toolkit importiert wird.

Nachrichtenflüsse sind so gestaltet, dass sie Nachrichten, die bestimmten Regeln entsprechen, umwandeln und weiterleiten. Standardmäßig führt der MRM-Parser für eine Nachricht Gültigkeitsprüfungen durch, aber nur, um die Integrität der Parsing-Operation sicherzustellen. Sie können jedoch eine genauere Überprüfung einer Nachricht anhand des im Nachrichten-Dictionary enthaltenen Nachrichtenmodells durchführen, indem Sie Überprüfungsoptionen in bestimmten Knoten im Nachrichtenfluss angeben.

Sie können Überprüfungsoptionen zur Überprüfung der folgenden Nachrichten verwenden:

Diese Überprüfungsoptionen stellen sicher, dass die Daten, die im Nachrichtenfluss eingehen und ihn wieder verlassen, geprüft werden. Die Optionen bieten Ihnen einen gewissen Grad an Kontrolle über die Gültigkeitsprüfung und werden mit folgenden Zielen ausgeführt:

Sie können außerdem angeben, welche Aktion ausgeführt werden soll, wenn eine Überprüfung fehlschlägt.

Zur Überprüfung von Nachrichten müssen Sie durch eine Nachrichtenbaumstruktur navigieren und ihre Gültigkeit kontrollieren. Wenn die Nachricht analysiert wird, ist dies eine Erweiterung der erstellten Baumstruktur, und wenn die Ausgabenachricht geschrieben wird, handelt es sich um eine Erweiterung des Bitstrom-Erstellung.

Überprüfungsoptionen sind auf den folgenden Knoten möglich:

Knotentyp Knoten mit Überprüfungsoptionen
Empfangsknoten MQEmpfangsknoten, SCADAEmpfangsknoten, HTTPEmpfangsknoten, JMSEmpfangsknoten, TimeoutNotification
Sendeknoten MQSendeknoten, MQAntwortknoten, SCADASendeknoten, HTTPAntwortknoten, JMSSendeknoten
Weitere Knoten Rechenknoten, Zuordnungsknoten, Java-Rechenknoten, Auswertungsknoten, Knoten 'Deskriptor_für_Neuanalyse', MQAbrufknoten, HTTPAnforderungsknoten

Überprüfungsoptionen können auch in der Anweisung ESQL CREATE und in der Funktion ASBITSTREAM angegeben werden.

Zur Überprüfung von Eingabenachrichten, die in einem Empfangsknoten empfangen wurden, können Sie im dort Überprüfungseigenschaften angeben. Die Eingabenachricht wird überprüft, wenn der Nachrichtenbitstrom für die Erstellung einer Nachrichtenbaumstruktur analysiert wird.

Mit der Eigenschaft 'Zeitpunkt für Syntaxanalyse' des Empfangsknoten können Sie steuern, ob die gesamte Nachricht zu diesem Zeitpunkt analysiert und geprüft wird, oder ob einzelne Felder in der Nachricht nur geprüft werden sollen, wenn auf sie verwiesen wird.

Zur Überprüfung von Ausgabenachrichten, die von einem Rechen-, Zuordnungs- oder Java-Rechenknoten erstellt wurden, müssen Sie Überprüfungseigenschaften entweder im Knoten selbst oder im Sendeknoten angeben, durch den die Nachricht gesendet wird. Die Überprüfung wird ausgeführt, wenn der Nachrichtenbitstrom von der Nachrichtenbaumstruktur durch den Sendeknoten erstellt wird.

Alternativ dazu können Sie mit einem Überprüfungsknoten eine Nachrichtenbaumstruktur an einer bestimmten Position in Ihrem Nachrichtenfluss überprüfen, oder Sie können dazu in einem Rechen-, Filter- oder Datenbankknoten die Funktion ESQL ASBITSTREAM verwenden.

Einige wenige Überprüfungen werden standardmäßig ausgeführt, wenn Sie die Überprüfungsoptionen nicht ändern. Bei den Standardeinstellungen wird eine Ausnahmebedingung ausgelöst, wenn eine der folgenden Situationen eintritt:
  • Die Daten weichen ab, z. B. wenn der Parser die für den vorgegebenen Feldtyp gelieferten Daten nicht interpretieren kann.
  • Die Reihenfolge der Elemente in der Ausgabenachricht entspricht nicht der Reihenfolge in der logischen Nachrichtenbaumstruktur (nur bei CWF- und TDS-Modellen mit fester Länge).
Zusätzlich führt der MRM-Parser in folgenden Fällen standardmäßig beschränkte Korrekturaktionen durch:
  1. Unwesentliche Felder werden bei der Ausgabe für feste Formate gelöscht (nur CWF- und TDS-Modelle mit fester Länge).
  2. Wenn verbindlicher Inhalt fehlt, werden Standardwerte (falls verfügbar) bei der Ausgabe für feste Formate geliefert (nur CWF- und TDS-Modelle mit fester Länge).
  3. Wenn der Datentyp eines Elements in der Baumstruktur nicht mit dem im Dictionary angegebenen Datentyp übereinstimmt, wird er, wenn möglich, bei der Ausgabe so konvertiert, dass er der Definition im Dictionary für alle Formate entspricht.

Sie können jedoch bei der Verwendung von Überprüfungsoptionen eine sorgfältigere Überprüfung der Nachrichten anfordern. Wenn Sie beispielsweise eine oder mehrere der folgenden Bedingungen prüfen, eine Ausnahmebedingung auslösen oder Fehler protokollieren möchten:

Im Beispiel werden einige dieser Überprüfungsoptionen veranschaulicht.

Beim Verwenden von Überprüfungsoptionen muss das folgende Verhalten nachvollzogen werden können:
  • Die Eigenschaft 'Zeitpunkt für Syntaxanalyse', durch die gesteuert wird, ob die Analyse 'Bei Bedarf' (auch als teilweises Parsing bezeichnet) ausgeführt wird, wirkt sich auf den zeitlichen Ablauf bei der Überprüfung von Eingabenachrichten (einschließlich Nachrichtenheadern) aus.

    Weitere Informationen zum Zeitpunkt der Syntaxanalyse finden Sie unter Eigenschaften der Gültigkeitsprüfung für Nachrichten in der MRM-Domäne.

  • Wenn eine Nachrichtenbaumstruktur an einen Sendeknoten übermittelt wird, übernimmt der Sendeknoten standardmäßig die für die Nachrichtenbaumstruktur aktivierten Überprüfungsoptionen. Sie können diese Optionen überschreiben, indem Sie im Sendeknoten eine neue Gruppe von Überprüfungsoptionen angeben.
  • Wenn eine Nachrichtenbaumstruktur als Eingabe an einen Rechen-, Zuordnungs oder Java-Rechenknoten übermittelt wird, verfügen alle neue Ausgabenachrichtenbaumstrukturen, die vom Rechen-, Zuordnungs- oder Java-Rechenknoten erstellt wurden, über die durch den Knoten angegebenen Überprüfungsoptionen, selbst wenn die gesamte Nachricht kopiert wurde. Sie können dieses Verhalten überschreiben und angeben, dass die vom Knoten erstellten Nachrichten die Überprüfungsoptionen der Baumstruktur der Eingabenachricht übernehmen.
  • Beim Schreiben des Bitstroms und Anwenden der Gültigkeitsprüfungsoptionen wird die gesamte Nachricht überprüft. Unter Umständen kann die Nachrichtenbaumstruktur einen nicht aufgelösten Typ enthalten (z. B. wenn ein Rechenknoten einen nicht aufgelösten Typ von einer Eingabenachricht in eine Ausgabenachricht kopiert, ohne ihn aufzulösen). Wird ein solcher Typ entdeckt, tritt ein Gültigkeitsfehler auf, da es nicht möglich ist, den Typ zu prüfen. Vergewissern Sie sich, dass alle nicht aufgelösten Typen aufgelöst werden, bevor sie in Ausgabenachrichten kopiert werden, um dieses Problem zu verhindern.

Weitere Informationen, wie Sie die Überprüfung mit verschiedenen Eigenschaften steuern können, finden Sie unter Eigenschaften der Gültigkeitsprüfung für Nachrichten in der MRM-Domäne.

Zugehörige Konzepte
Vordefinierte und selbstdefinierende Nachrichten
Nachrichtenflüsse - Übersicht
Zugehörige Tasks
Einen Nachrichtenfluss entwerfen
Nachrichtenflüsse erstellen
Nachrichtenflussinhalte definieren
Zugehörige Verweise
Integrierte Knoten
Eigenschaften der Gültigkeitsprüfung für Nachrichten in der MRM-Domäne
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ac00400_