Wiki-Quellcode von Webservice Erreichbarkeitsprüfung
                  Version 2.1 von MACH formsolutions am 15.02.2024
              
      Verstecke letzte Bearbeiter
| author | version | line-number | content | 
|---|---|---|---|
|                              | 
      2.1 | 1 | == Wo wird die Webservice Erreichbarkeitsprüfung eingesetzt? == | 
|        | 
      1.1 | 2 | |
| 3 | * Durch die "Prüfen"-Schaltfläche bei der Einrichtung eines Webservice in der Mandanten-Modulkonfiguration unter //Web Services //- //WebService Konfiguration.// | ||
| 4 | * 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. | ||
| 5 | |||
| 6 | == Wie funktioniert die Erreichbarkeitsprüfung? == | ||
| 7 | |||
| 8 | Als Endpunkt für die Erreichbarkeitsprüfung dient die in der Modulkonfiguration (siehe oben) hinterlegte "WebService-Url". | ||
| 9 | |||
| 10 | 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. | ||
| 11 | |||
| 12 | 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. | ||
| 13 | |||
| 14 | 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**: | ||
| 15 | |||
| 16 | 1. HEAD-Request an die URL | ||
| 17 | 1. GET-Request an die URL | ||
| 18 | 1. GET-Request an die URL mit angehängtem Query-Parameter "**wsdl**" | ||
| 19 | 11. Beispiel 1: [[https:~~/~~/ws.form-solutions.test>>url:https://webserver.test?wsdl]][[?wsdl>>url:https://webserver.test?wsdl]] | ||
| 20 | 11. Beispiel 2: [[https:~~/~~/ws.form-solutions.test?param=1&wsdl>>url:https://webserver.test?wsdl]] | ||
| 21 | |||
| 22 | 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). | ||
| 23 | |||
| 24 | 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. |