Wiki-Quellcode von Webservice Erreichbarkeitsprüfung
Version 1.1 von MACH ProForms GmbH am 15.02.2024
Zeige letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
1 | == Hintergrund == | ||
2 | |||
3 | Die Webservice-Erreichbarkeitsprüfung wird an diesen Stellen angestoßen: | ||
4 | |||
5 | * Durch die "Prüfen"-Schaltfläche bei der Einrichtung eines Webservice in der Mandanten-Modulkonfiguration unter //Web Services //- //WebService Konfiguration.// | ||
6 | * Beim Assistentenstart wird die Erreichbarkeit des Webservices unter der in der Modulkonfiguration hinterlegten URL geprüft. Dabei werden sowohl die //Webservice-Komponente(n)//, als auch die //WebService-Anfrage während der Einreichung// berücksichtigt. | ||
7 | |||
8 | == Wie funktioniert die Erreichbarkeitsprüfung? == | ||
9 | |||
10 | Als Endpunkt für die Erreichbarkeitsprüfung dient die in der Modulkonfiguration (siehe oben) hinterlegte "WebService-Url". | ||
11 | |||
12 | Es wird versucht eine Verbindung zu dieser URL aufzubauen. Dazu wird eine Reihe von HTTP-Requests an die URL geschickt, von denen **mindestens einer** eine "positive" Antwort erhalten muss, um die Erreichbarkeitsprüfung erfolgreich zu bestehen. | ||
13 | |||
14 | Eine "positive" Antwort gilt als gegeben, wenn ein HTTP-Status-Code vom Server empfangen werden konnte und dieser nicht der **5xx-Serie** (Server-Fehler) angehört und auch nicht einem der Client-Error Codes **401**,** 403 **oder** 404 **entspricht. | ||
15 | |||
16 | Die nachfolgenden HTTP-Requests werden nach einander gesendet, **es sei denn es wird vorher eine positive Antwort empfangen **oder** der HTTP-Status-Code der Antwort kann nicht ermittelt werden**: | ||
17 | |||
18 | 1. HEAD-Request an die URL | ||
19 | 1. GET-Request an die URL | ||
20 | 1. GET-Request an die URL mit angehängtem Query-Parameter "**wsdl**" | ||
21 | 11. Beispiel 1: [[https:~~/~~/ws.form-solutions.test>>url:https://webserver.test?wsdl]][[?wsdl>>url:https://webserver.test?wsdl]] | ||
22 | 11. Beispiel 2: [[https:~~/~~/ws.form-solutions.test?param=1&wsdl>>url:https://webserver.test?wsdl]] | ||
23 | |||
24 | Jeder der gesendeten Requests sendet den Header "**Accept**" mit dem Wert "***/***" (wodurch signalisiert wird, dass jede Art von Daten bzw. auch keine Daten im Response-Body akzeptiert werden). | ||
25 | |||
26 | Sind in der Modulkonfiguration neben der URL auch **Authentisierungsdaten** (HTTP-Basic und/oder Zertifikats-Key-/Truststore) hinterlegt, so werden diese ebenfalls mit den oben genannten Requests mitgesendet. |