Show TOC Anfang des Inhaltsbereichs

Funktionsdokumentation Fault-Message-Typ Dokument im Navigationsbaum lokalisieren

Verwendung

Fault-Message-Typen sind für anwendungsspezifische Fehler konzipiert, die auf der Inbound-Seite auftreten und an den Sender zurückgemeldet beziehungsweise im Monitoring persistiert werden:

·      Bei einem anwendungsspezifischen Fehler auf Inbound-Seite kann die Anwendung statt einer Response-Message eine Fault-Message zum Sender zurückschicken, um den Fehler zu behandeln.

·      Bei einem asynchronen Inbound-Interface wird die Fault-Message der Anwendung für das StrukturlinkMonitoring persistiert.

Anwendungsspezifisch heißt, dass die Anwendung auf Inbound-Seite den Fehler selbst auslöst, weil zum Beispiel nicht genügend Informationen in der Request-Message vorhanden waren.

Integration

Ein Fault-Message-Typ ist ein spezieller Message-Typ, der in Message-Interfaces verwendet werden kann. Genau wie bei einem Message-Typ wird ein Fault-Message-Typ daher aus Datentypen aufgebaut (siehe unten). Fault-Message-Typen für asynchrone Outbound-Message-Interfaces sind nicht erlaubt.

Voraussetzungen

Siehe den Abschnitt Voraussetzungen in Einführung in die Interface-Entwicklung.

Funktionsumfang

Aufbau eines Fault-Message-Typs

Datenteil

Verwendung

Standarddaten
(obligatorisch)

Mit Hilfe dieses Datenteils können Sie zur Laufzeit der Fault-Message Standard-Informationen zu einem Fehler zurückgeben. Alle Fault-Message-Typen referieren für diesen Teil den Datentyp ExchangeFaultData und indirekt den Datentyp  ExchangeLogData. Diese Datentypen werden automatisch in einem Namensraum angelegt, wenn Sie dort den ersten Fault-Message-Typ anlegen.

Zusatzdaten
(optional)

Mit Hilfe dieses Datenteils können Sie beliebige weitere anwendungsspezifische Informationen an Ihre Fault-Message hängen. Dazu verweisen Sie auf einen beliebigen Datentyp in der gleichen oder einer unterliegenden Software-Komponentenversion.

Bei der Generierung eines Proxy aus einem Message-Interface wird für einen Fault-Message-Typ eine Ausnahmeklasse generiert, mit der Sie Anwendungsfehler zur Laufzeit behandeln können (siehe auch das Beispiel unten).

Siehe auch: Fault-Messages (ABAP) beziehungsweise Fault-Messages (Java).

Aktivitäten

...

     1.     Legen Sie einen Fault-Message-Typ in der Design-Pflege des Integration Builder an (siehe auch: Anlegen eines Objektes).

     2.     Geben Sie eine Beschreibung zu Ihrem Fault-Message-Typ ein.

     3.     In der Voreinstellung ist der XML-Namensraum gleich dem Repository-Namensraum. Wenn der Message-Typ in einen anderen Namensraum kopiert wurde, sollten Sie diese Voreinstellung überschreiben.

     4.     In der Voreinstellung besteht die Fault-Message nur aus dem Standard-Datenteil. Wenn Sie den zusätzlichen Datenteil benötigen, geben Sie einen Datentyp im Eingabefeld Zusatzdaten an. Der Datentyp kann in der selben oder in einer unterliegenden Software-Komponentenversion liegen.

     5.     Speichern Sie Ihre Änderungen.

Beispiel

In dem folgenden Beispiel meldet ein ABAP-Empfänger einen Anwendungsfehler an einen Java-Sender zurück, der bei der Inbound-Verarbeitung auftritt:

Diese Grafik wird im zugehörigen Text erklärt

Um den Fehler zu behandeln, wurde dazu zunächst ein Fault-Message-Typ Fm im Integration Repository angelegt, der von beiden Message-Interfaces referenziert wird. Bei der Generierung der Proxies zu den Message-Interfaces werden dabei die Exception-Klassen FmException (Java) und CX_FM (ABAP) generiert. Die Grafik zeigt die Übertragung des Fehlers, nachdem die Anwendung auf ABAP-Seite die entsprechenden Daten an die Exception-Klasse CX_FM übergeben und sie mit RAISE ausgelöst hat: Die Proxy-Laufzeit erzeugt aus den Daten der Exception-Klasse eine Fault-Message, die an den Sender übertragen wird. Dort wird dann die Ausnahme zur Exception-Klasse FmException ausgelöst, so dass der Fehler beim Sender behandelt werden kann.

 

 

 

Ende des Inhaltsbereichs