Überlegen Sie beim Entwurf Ihres Nachrichtenflusses, zu welchen
Terminals am Empfangsknoten eine Verbindung hergestellt werden soll.
- Wenn der Knoten einen Fehler feststellt, gibt er die Nachricht stets an das Fehlerterminal
weiter, falls ein solches vorhanden ist und Sie einen Fehlernachrichtenfluss verbunden haben.
- Wenn Sie das Catch-Terminal (falls der Knoten ein solches besitzt) verbinden, zeigen Sie damit
an, dass Sie alle Ausnahmebedingungen bearbeiten möchten, die im Nachrichtenausgabefluss generiert
wurden.
Auf diese Weise werden Fehler behandelt, die im Ausgabefluss erwartet werden können. Der Broker führt erst dann eine Aktion aus, wenn sich eine Ausnahmebedingung im Catch-Nachrichtenfluss befindet und die Nachricht transaktionsorientiert ist. Schließen Sie das Fehlerterminal an, um
diesen Fall bei Bedarf bearbeiten zu können.
- Wenn Sie das Catch-Terminal nicht verbinden oder der Knoten kein Catch-Terminal besitzt, führt
der Broker eine Standardverarbeitung durch, die vom Knoten abhängig ist und davon, ob es sich um
eine transaktionsorientierte Nachricht handelt. Die Verarbeitung von nicht
transaktionsorientierten Nachrichten wird in diesem Abschnitt näher beschrieben. Ausführliche
Informationen dazu, wie diese Knoten transaktionsorientierte Nachrichten bearbeiten (andere
Empfangsknoten unterstützen keine transaktionsorientierten Nachrichten), finden Sie unter
Behandlung von MQEmpfangsfehlern,
und Behandlung von Zeitlimitbenachrichtigungsfehlern.
Alle Empfangsknoten verarbeiten nicht transaktionsorientierte, nicht permanente Nachrichten.
Die integrierten Empfangsknoten bearbeiten Fehler und Ausnahmebedingungen, die bei diesen Nachrichten auftreten, wie folgt:
- Der Knoten stellt einen internen Fehler fest:
- Wenn Sie keine Verbindung zum Fehlerterminal hergestellt haben, protokolliert der Knoten den
Fehler im lokalen Fehlerprotokoll und verwirft die Nachricht.
Der
Real-timeInput- und
Real-timeOptimizedFlow-Knoten wiederholen den Vorgang
ein Mal, bevor sie die Nachricht verwerfen, d. h., sie rufen die Nachricht erneut ab und versuchen,
sie zu verarbeiten.
- Ist das Fehlerterminal verbunden, müssen Sie den Fehler im Fehlernachrichtenfluss behandeln. Der Broker erstellt eine neue Ausnahmeliste, um den Fehler darzustellen, und gibt sie als Teil der
Nachrichtenbaumstruktur an das Fehlerterminal weiter; aber weder der Knoten noch der Broker stellen
darüberhinaus eine weitere Fehlerverarbeitung bereit.
- Der Knoten hat die Nachricht erfolgreich an das Ausgangsterminal weitergegeben und eine spätere
Ausnahmebedingung führt dazu, dass die Nachricht an den Empfangsknoten zurückgegeben wird:
- Wenn Sie keine Verbindung zum Catch-Terminal hergestellt haben oder der Knoten kein
Catch-Terminal besitzt, protokolliert der Knoten den Fehler im lokalen Fehlerprotokoll und verwirft
die Nachricht.
- Ist das Catch-Terminal verbunden, müssen Sie den Fehler im Catch-Nachrichtenfluss behandeln. Der Broker erstellt eine neue Ausnahmeliste, um den Fehler darzustellen, die als Teil der
Nachrichtenbaumstruktur an das Catch-Terminal weitergegeben wird, aber weder der Knoten noch der
Broker stellen darüberhinaus eine weitere Ausnahmebehandlung zur Verfügung.
- Der Knoten hat die Nachricht bereits erfolgreich an das Catch-Terminal weitergegeben und eine
Ausnahmebedingung wird im Catch-Nachrichtenfluss ausgelöst:
- Wenn der Knoten die Nachricht an das Fehlerterminal weitergegeben hat und eine
Ausnahmebedingung im Fehlernachrichtenfluss ausgelöst wird, protokolliert der Knoten den Fehler im
lokalen Fehlerprotokoll und verwirft die Nachricht.
In allen Fällen, in
denen die Nachricht verworfen wird, wartet der
HTTPInput-Knoten, bis die von der Knoteneigenschaft
Maximale Client-Wartezeit festgelegte Zeitdauer
abgelaufen ist, und gibt dann einen Fehler an den Web-Service-Client zurück.
Diese Aktion wird in der unten stehenden Tabelle zusammengefasst:
Fehlerereignis |
Fehlerterminal verbunden |
Fehlerterminal nicht verbunden |
Catch-Terminal verbunden |
Catch-Terminal nicht verbunden |
Knoten entdeckt internen Fehler |
Fehlernachrichtenfluss behandelt Fehler |
Knoten protokolliert Fehler und verwirft Nachricht |
Nicht zutreffend |
Nicht zutreffend |
Knoten leitet Nachricht an Ausgangsterminal weiter, Ausnahmebedingung im
Ausgabenachrichtenfluss aufgetreten |
Nicht zutreffend |
Nicht zutreffend |
Catch-Nachrichtenfluss behandelt Fehler |
Knoten protokolliert Fehler und verwirft Nachricht |
Knoten leitet Nachricht an Catch-Terminal weiter, Ausnahmebedingung im
Catch-Nachrichtenfluss aufgetreten |
Fehlernachrichtenfluss behandelt Fehler (nicht HTTPInput oder SCADAInput) |
Knoten protokolliert Fehler und verwirft Nachricht |
Nicht zutreffend |
Nicht zutreffend |
Knoten leitet Nachricht an Fehlerterminal weiter, Ausnahmebedingung im
Fehlernachrichtenfluss aufgetreten |
Nicht zutreffend |
Nicht zutreffend |
Knoten protokolliert Fehler und verwirft Nachricht |
Knoten protokolliert Fehler und verwirft Nachricht |