Version 11.3 (Geändert)
SET WEB SERVICE OPTION (Option; Wert)
Parameter | Typ | Beschreibung | |
Option | Lange Ganzzahl | Code der zu setzenden Option | |
Wert | Lange Ganzzahl | Text | Wert der Option |
Vorbemerkung: Dieser Befehl ist optional. Er richtet sich an fortgeschrittene Nutzer von Web Services.
Beschreibung
Der Befehl SET WEB SERVICE OPTION setzt verschiedene Optionen, die während der nächsten SOAP Anfrage verwendet werden, die über den Befehl CALL WEB SERVICE verwaltet werden (triggered).
Sie können diesen Befehl so oft aufrufen, wie es Optionen gibt, um vor CALL WEB SERVICE 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 (Param Option) | Typ | Wert |
Web Service HTTP Timeout | Lange Ganzzahl | 1 |
Web Service SOAP Header | Lange Ganzzahl | 2 |
Web Service SOAP Version | Lange Ganzzahl | 3 |
Web Service display auth dialog | Lange Ganzzahl | 4 |
Web Service reset auth settings | Lange Ganzzahl | 5 |
Web Service HTTP Compression | Lange Ganzzahl | 6 |
Konstante (Param Wert) | Typ | Wert |
Web Service SOAP_1_1 | Lange Ganzzahl | 0 |
Web Service SOAP_1_2 | Lange Ganzzahl | 1 |
Web Service Deflate Compression | Lange Ganzzahl | 1 |
Es folgt die Beschreibung dieser Konstanten:
Option = Web Service HTTP Timeout
Wert = Timeout des Client-Teils in Sekunden.
Das Timeout des Client-Teils ist die Wartezeit des Web Service Client, ohne Antwort vom Server. Nach dieser Zeitspanne schließt der Client die Sitzung, die Anfrage geht verloren.
Das Timeout ist standardmäßig 10 Sekunden. Sie können es für spezifische Zwecke ändern, z.B. Netzwerk Status, Besonderheiten bei Web Service.
Option = Web Service SOAP Header
Wert = Referenz auf XML Root Element, das als Header in der SOAP Anfrage eingefügt werden soll.
Damit fügen Sie einen Header in eine SOAP Anfrage ein, die über den Befehl CALL WEB SERVICE generiert wurde. SOAP Anfragen enthalten standardmäßig keinen spezifischen Header. Bestimmte Web Services benötigen jedoch einen Header, zum Beispiel zum Verwalten von Parametern zur Identifikation.
Option = Web Service SOAP Version
Wert = Web Service SOAP_1_1 oder Web Service SOAP_1_2
Mit dieser Option können Sie die Version des in der Anfrage verwendeten SOAP Protokolls definieren. Für Version 1.1 übergeben Sie die Konstante Web Service SOAP_1_1 in Wert, für Version 1.2 die Konstante Web Service SOAP_1_2.
Option = Web Service display auth dialog
Wert = 0 (Dialogfenster nicht anzeigen) oder 1 (Dialogfenster anzeigen)
Diese Option verwaltet die Anzeige des Authentifzierungsdialogs wäh-rend der Ausführung von CALL WEB SERVICE. Dieser Befehl zeigt das Dialogfenster standardmäßig nicht an; dafür müssen Sie normaler-weise den Befehl AUTHENTICATE WEB SERVICE verwenden.
Wählen Sie diese Option, wenn der Authentifzierungsdialogs erschei-nen soll, damit die Benutzer ihre Kennung eingeben und übergeben Sie 1 in Wert. Der Dialog erscheint nur, wenn der Web Service eine Authentifizierung erfordert.
Option = Web Service reset auth settings
Wert = 0 (Information nicht entfernen) oder 1 (Information entfernen)
Mit dieser Option können Sie festlegen, ob 4D sich die Authentifizierungsdaten des Benutzers (Benutzername, Kennwort, Methode, etc.) merken soll, um sie in Folge erneut zu verwenden. Die Daten werden standardmäßig nach jeder Ausführung von CALL WEB SERVICE gelöscht. Übergeben Sie 0 (Null)in Wert, um die Information zu speichern, 1 um sie zu entfernen. Beachten Sie, dass bei Wert 0 die Daten während der Sitzung beibehalten, jedoch nicht gespeichert werden.
Option = Web Service HTTP Compression
Wert = Web Service Deflate Compression
Mit dieser Option können Sie einen internen Komprimierungsmechanismus für SOAP Anfragen aktivieren, um denAustausch zwischen verschiedenen 4D Anwendungen zu beschleunigen. Führen Sie auf dem 4D Client von Web Service die Anweisung SET WEB SERVICE OPTION(Web Service HTTP Compression; Web Service Deflate Compression) aus, werden die Daten der nächsten SOAP Anfrage, die der Web Service Client sendet, vor dem Senden an den 4D SOAP Server mit einem standardmäßigen HTTP Mechanismus komprimiert. Der Server entkomprimiert und durchläuft die Anfrage und antwortet dann mit dem gleichen Mechanismus. Das gilt nur für die Anfrage, die auf den Aufruf von SET WEB SERVICE OPTION folgt. Sie müssen diesen Befehl deshalb jedes Mal aufrufen, wenn Sie die Komprimierung nutzen wollen. 4D komprimiert Web Service HTTP Anfragen nicht standardmäßig.
Hinweise:
"Deflate" ist der Name des Komprimierungsalgorithmus, den 4D intern verwendet.
Dieser Mechanismus lässt sich nicht für Anfragen an einen 4D SOAP Server verwenden, der älter als Version 11.3 ist.
Zur weiteren Optimierung gibt es zwei Optionen, um den Schwellwert und die Komprimierungsrate der Anfragen zu konfigurieren. Weitere Informationen dazu finden Sie unter dem Befehl SET DATABASE PARAMETER.
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.
Beispiele
1. Die folgende Anweisung fügt in die SOAP Anfrage einen eigenen Header ein:
` Eine XML Referenz erstellen C_STRING(16;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 SET WEB SERVICE OPTION(Web Service SOAP Header;vElemRef)
2. Das folgende Beispiel verwendet das SOAP Protokoll Version 1.2:
SET WEB SERVICE OPTION(Web Service SOAP Version;Web Service SOAP_1_2)
Referenz