Ü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 an,
dass Sie alle Ausnahmebedingungen bearbeiten möchten, die im Nachrichtenausgabefluss generiert wurden. Es 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 transkationsorientiert 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 aus. Dies richtet sich nach dem Knoten sowie danach, ob es sich um eine transaktionsorientierte Nachricht handelt. Die Verarbeitung von nicht transkationsorientierten 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 sowie 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 Echtzeiteingabeknoten (Real-timeInput) und der
EchtzeitoptimierterFluss-Knoten (Real-timeOptimizedFlow) 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über hinaus 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über hinaus 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 nachfolgender Tabelle zusammen gefasst:
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) |
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 |