Der Befehl WEB SERVICE SET OPTION setzt verschiedene Optionen, die während der nächsten SOAP Anfrage verwendet werden, die über den Befehl WEB SERVICE CALL ausgelöst werden.
Sie können diesen Befehl so oft aufrufen, wie es Optionen gibt, um vor WEB SERVICE CALL zu setzen.
In Option übergeben Sie die Nummer der Option, in Wert ihren neuen Wert. Für den Parameter Option können Sie auch eine vordefinierte Konstante unter dem Thema Web Services (Client) verwenden:
Konstante
Typ
Wert
Meldung
Web Service display auth dialog
Lange Ganzzahl
4
Wert = 0 (Dialogfenster nicht anzeigen) oder 1 (Dialogfenster anzeigen) Diese Option verwaltet die Anzeige des Authentifizierungsdialogs beim Ausführen des Befehls WEB SERVICE CALL. Dieser Befehl zeigt standardmäßig nie den Dialog an; normalerweise müssen Sie dafür den Befehl WEB SERVICE AUTHENTICATE verwenden. Verwenden Sie diese Option, wenn der Authentifizierungsdialog erscheinen soll, damit Benutzer ihre Identifier eintragen können: Übergeben Sie 1 in Wert, um das Dialogfenster anzuzeigen, sonst 0. Das Dialogfenster erscheint nur, wenn der Web Service eine Authentifizierung benötigt.
Web Service HTTP compression
Lange Ganzzahl
6
value = Web Service Compression Damit lässt sich ein interner Kompressionsmechanismus für SOAP Anfragen aktivieren, um den Austausch zwischen 4D Anwendungen zu beschleunigen. Führen Sie die Anweisung WEB SERVICE SET OPTION(Web Service HTTP Compression; Web Service Compression) auf dem 4D Client des Web Service aus, werden die Daten der nächsten vom Client gesendeten SOAP Anfrage vor dem Senden an den 4D SOAP Server über einen standard HTTP Mechanismus komprimiert ("gzip" oder "deflate", je nach Inhalt der Anfrage). Der Server entkomprimiert und analysiert die Anfrage und antwortet dann automatisch über denselben Mechanismus. Das gilt nur für die Anfrage, die auf den Aufruf des Befehls WEB SERVICE SET OPTION folgt. Sie müssen deshalb diesen Befehl vor jedem Komprimieren erneut aufrufen. 4D komprimiert standardmäßig keine Web Service HTTP Anfragen. Hinweis: Dieser Mechanismus lässt sich nicht für Anfragen verwenden, die an einen 4D SOAP Server älter als Version 11.3 gesendet werden. Zur weiteren Optimierung dieser Funktionsweise können Sie zusätzliche Optionen wie Durchfluß- und Komprimierungsrate konfigurieren. Sie sind im Befehl SET DATABASE PARAMETER verfügbar.
Web Service HTTP timeout
Lange Ganzzahl
1
Wert = Timeout des Client Teils, angegeben in Sekunden. Timeout ist die Zeitspanne, die der Web Service Client wartet, wenn der Server nicht antwortet. Ist sie abgelaufen, schließt der Client die Sitzung und die Anfrage geht verloren. Das Timeout beträgt standardmäßig 180 Sekunden. Es kann für spezifische Fälle geändert werden (Netzwerkstatus, Web Service Eigenheiten, etc.).
Web Service reset auth settings
Lange Ganzzahl
5
Wert = 0 (Information nicht entfernen) oder 1 (Information entfernen) Damit können Sie für 4D angeben, ob die Information zur Authentifizierung des Benutzers (Benutzername, Kennwort, Methode, etc.) gespeichert werden soll, um sie in Folge erneut zu verwenden. Diese Information wird standardmäßig nach jeder Ausführung des Befehls WEB SERVICE CALL entfernt. Übergeben Sie 0 in Wert, um die Information zu speichern, 1 um sie zu entfernen. Beachten Sie, dass bei 0 die Information während der Sitzung beibehalten, aber nicht gespeichert wird.
Web Service SOAP header
Lange Ganzzahl
2
Wert = XML Root Element Referenz, die als Header in der SOAP Anfrage eingegeben werden soll. Damit können Sie einen Header in einer SOAP Anfrage eingeben, die über den BefehlWEB SERVICE CALL erstellt wurde. SOAP Anfragen enthalten standardmäßig keinen spezifischen Header. Bestimmte Web Services benötigen jedoch einen Header, z.B. zur Verwaltung von Parametern zur Identifizierung.
Web Service SOAP version
Lange Ganzzahl
3
Wert = Web Service SOAP_1_1 oder Web Service SOAP_1_2 Über diese Option können Sie die Version des in der Anfrage verwendeten SOAP Protokolls angeben. Übergeben Sie Web Service SOAP_1_1 für Version 1.1, Web Service SOAP_1_2 für Version 1.2.
Es spielt keine Rolle, in welcher Reihenfolge die Optionen aufgerufen werden. Wird dieselbe Option mehrmals gesetzt, wird nur der Wert des letzten Aufrufs berücksichtigt.
Die folgende Anweisung fügt in die SOAP Anfrage einen eigenen Header ein:
` Eine XML Referenz erstellen C_TEXT(vRootRef;vElemRef) vRootRef:=DOM Create XML Ref("RootElement") vxPath:="/RootElement/Elem1/Elem2/Elem3" vElemRef:=DOM Create XML element(vRootRef;vxPath) `SOAP header mit Referenz ändern WEB SERVICE SET OPTION(Web Service SOAP header;vElemRef)