Version 1.1 von MACH ProForms GmbH am 15.02.2024

Zeige letzte Bearbeiter
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.