!--a11y-->
Fault-Message-Typ 
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
Monitoring
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.
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.
Siehe den Abschnitt Voraussetzungen in Einführung in die Interface-Entwicklung.
Aufbau eines Fault-Message-Typs
Datenteil |
Verwendung |
Standarddaten |
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 |
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).
...
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.
In dem folgenden Beispiel meldet ein ABAP-Empfänger einen Anwendungsfehler an einen Java-Sender zurück, der bei der Inbound-Verarbeitung auftritt:

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.