Im ICM und Web Dispatcher ist eine Standard-Fehlerbehandlung implementiert. Sie können beide Komponenten jedoch so konfigurieren, dass eine davon abweichende, für Ihren Anwendungsbereich passende Fehlerbehandlung stattfindet.
Fehlersituationen, die erst im Backend auftreten, werden nicht vom ICM/Web Dispatcher behandelt. Tritt also zum Beispiel ein HTTP-Fehler 404 (Datei nicht gefunden) im File Access Handler des ICM/ Web Dispatchers auf, so wird die entsprechende Fehlerseite zurückgegeben, wenn diese konfiguriert ist. Geht der Request aber (aufgrund der URL) an den Application Server ABAP und wird dann innerhalb vom Internet Communication Framework (ICF) die gesuchte Datei nicht gefunden, reicht der ICM die vom ICF generierte Fehlerseite an den Browser weiter.
Standard-Fehlerbehandlung
Wenn der ICM oder Web Dispatcher eine Fehlersituation feststellt, gibt er im Standardfall einen statischen Text an den Browser zurück:
|
So verhält sich der ICM / Web Dispatcher auch, wenn er im Maintenance Mode ( Wartungsmodus) ist.
Wenn diese Fehlerseite Ihnen aus Sicherheitsgründen zu detailliert ist, können Sie den Profilparameter is/HTTP/show_detailed_errors auf FALSE setzen. Dann werden die Details unterdrückt, die Meldung sieht dann so aus:
|
Fehlerbehandlung steuern
Sie können aber den ICM und SAP Web Dispatcher so konfigurieren, dass er von Ihnen erstellte Fehlerseiten zurückgibt.
Wie Sie hierzu vorgehen, wird im Folgenden beschrieben.
Unter Fehlercodes finden Sie die Namen der Fehler, die der ICM / Web Dispatcher kennt.
Sie können eine Default-Seite oder für jeden Fehler eine einzelne Seite (statisch oder dynamisch) anlegen. Informationen dazu finden Sie unter Eigene Fehlerseiten einrichten.
Ein Beispiel für eine dynamische Fehlerseite finden Sie unter Beispiel für eine dynamische Fehlerseite.
Priorisierung durch den ICM / Web Dispatcher
Ist der Parameter icm/HTTP/error_templ_path nicht gesetzt, so wird immer die statische Fehlerseite des ICM zurückgeliefert.
Ist der Parameter gesetzt, prüft der ICM / Web Dispatcher bei Auftreten des Fehlers <ERRNAME> zuerst, ob in dem durch icm/HTTP/error_templ_path spezifiziertem Verzeichnis die Datei ICMERR <ERRNAME>.html findet und sendet diese dem Client. Findet er diese Datei nicht, sucht er nach ICMERR <ERRNAME>.shtml und gibt diese zurück.
Wenn keine spezifische Fehlerseite gefunden wird, wird die Default-Fehlerseite ICMERR-EDEFAULT.{html,shtml} zurückgegeben (siehe oben). Wenn diese Datei auch nicht existiert, wird die statische Seite zurückgegeben.
Aktualisierung von Fehlerseiten
Aus Performancegründen prüft der ICM / Web Dispatcher einmalig, welche Fehlertemplates existieren, daher muss er durchgestartet werden, wenn neue Templates hinzugefügt werden (Änderungen an den Templates werden erkannt). Zum Durchstarten können Sie die Web-Administrations-Oberfläche verwenden.