Zum Hauptinhalt springen

Web-Schnittstelle - Rückgabe von Fehlerseiten

Web-Schnittstelle - Rückgabe von Fehlerseiten Rückgabe einer Fehlerseite an den Browser

Kommt es zu einem Laufzeitfehler, kann an den Browser eine Fehlerseite übermittelt werden. Die Fehlerseiten können für jede Applikation in einem eigenen Verzeichnis abgelegt werden. Das Verzeichnis wird in der Konfigurationsdatei im Eintrag web_error_path festgelegt. Ist kein solcher Eintrag vorhanden oder konnte die Applikation nicht identifiziert werden, wird eine Fehlerseite aus dem Verzeichnis der Datei c16_web.dll gelesen.

Ist ein Fehler aufgetreten, wird zunächst nach einer CONZEPT 16 spezifischen Fehlerseite gesucht. Der Name der Seite setzt sich dabei wie folgt zusammen: error_c16_<nr>.htm. Wobei <nr> der Betrag der entsprechenden Fehlernummer ist. Soll zum Beispiel bei einer Division durch Null (Fehlerwert -181) eine bestimmte Seite zurückgegeben werden, muss in dem Fehlerverzeichnis eine Seite mit dem Namen error_c16_181.htm erstellt werden. Folgende Laufzeitfehler werden von dem System generiert:

Wird zum entsprechenden Fehlerwert keine Seite gefunden, wird aufgrund des HTTP-Statuscodes im gleichen Verzeichnis eine Datei mit dem Namen error_http_<nr>.htm gesucht. <nr> entspricht dabei dem ermitteltem HTTP-Status. Der zurückgegebene Status hängt wesentlich von der verwendeten Protokollversion ab. Welche Statuscodes zurückgegeben werden, können dem RFC 1945 und RFC 2068 entnommen werden. Vom Client selbst werden nur folgende Statuscodes zurückgegeben:

  • 400: Es wurde ein Request mit einer anderen Methode als GET, POST oder HEAD gestellt (nur bei HTTP/1.0)
  • 404: Die angegebene Applikation wurde nicht gefunden
  • 405: Es wurde ein Request mit einer anderen Methode als GET, POST oder HEAD gestellt (nur bei HTTP/1.1)
  • 500: Dieser Status wird zurückgegeben, wenn eine Prozedur einen Laufzeitfehler generiert oder nicht genügend Speicher allokiert werden konnte
  • 503: Dieser Status wird zurückgegeben, wenn sich zu viele Benutzer angemeldet haben

Beispiel:

error_http_500.htm

Da keine weiteren Statuscodes von der Schnittstelle zurückgegeben werden, müssen auch nur für diese entsprechende Fehlerseiten erstellt werden. Wird auch diese Datei nicht gefunden, wird die Datei error.htm zurückgegeben. Diese Datei kann verwendet werden, um unbekannte oder unspezifische Fehlermeldungen an den Browser zu übergeben. Existiert auch diese Datei nicht, generiert der Client eine Fehlerseite, welche den HTTP-Status und den Laufzeitfehlercode enthält: