WEB SERVICE SET OPTION
WEB SERVICE SET OPTION ( option ; valeur )
Paramètre | Type | Description | |
---|---|---|---|
option | Integer | → | Code de l’option à fixer |
valeur | Integer, Text | → | Valeur de l’option |
Note préliminaire
Cette commande est destinée aux utilisateurs avancés des Web Services. Son emploi est facultatif.
Description
La commande WEB SERVICE SET OPTION permet de définir différentes options qui seront utilisées lors de la prochaine requête SOAP déclenchée par la commande WEB SERVICE CALL.
Vous pouvez appeler cette commande autant de fois qu’il y a d’options à fixer.
Passez dans le paramètre option le numéro de l’option à définir et dans le paramètre valeur la nouvelle valeur de l’option. Vous pouvez utiliser pour ces deux paramètres une des constantes prédéfinies suivantes, situées dans le thème Web Services (Client) :
Constante | Type | Valeur | Comment |
---|---|---|---|
Web Service display auth dialog | Entier long | 4 | valeur = 0 (ne pas afficher le dialogue) ou 1 (afficher le dialogue) Cette option gère l’affichage de boîte de dialogue d’authentification lors de l’exécution de la commande WEB SERVICE CALL. Par défaut, cette commande ne provoque jamais l'affichage de la boîte de dialogue, vous devez en principe utiliser la commande WEB SERVICE AUTHENTICATE. Toutefois, si vous souhaitez qu’une boîte de dialogue d’authentification apparaisse pour que l’utilisateur saisisse ses identifiants, vous devez utiliser cette option : passez 1 dans valeur pour afficher la boîte de dialogue, et 0 sinon. La boîte de dialogue n’apparaît que si le service Web requiert une authentification. |
Web Service HTTP compression | Entier long | 6 | valeur = Web Service compression Cette option permet d’activer un mécanisme interne de compression des requêtes SOAP afin d’accélérer les échanges inter-applications 4D. Lorsque vous exécutez l'instruction WEB SERVICE SET OPTION(Web Service compression HTTP; Web Service compression) sur le client 4D du Web Service, les données de la prochaine requête SOAP envoyée par le client seront compressées en utilisant un mécanisme standard HTTP ("gzip" ou "deflate" en fonction du contenu de la requête) avant leur envoi au serveur SOAP 4D. Le serveur décompressera et analysera la requête puis répondra en utilisant automatiquement le même mécanisme. Seule la requête suivant l’appel de la commande WEB SERVICE SET OPTION est affectée. Vous devez donc appeler cette commande chaque fois que vous voulez utiliser la compression. Par défaut, 4D ne compresse pas les requêtes HTTP des Web Services. Note : Ce mécanisme ne peut pas être utilisé pour des requêtes adressées à un serveur SOAP 4D d’une version antérieure à la 11.3. Afin de vous permettre d’optimiser encore ce fonctionnement, des options supplémentaires configurent le seuil et le taux de compression des requêtes. Ces options sont accessibles via la commande SET DATABASE PARAMETER. |
Web Service HTTP timeout | Entier long | 1 | valeur= “timeout” de la partie cliente exprimé en secondes. Le timeout de la partie cliente est le délai d’attente du client Web Service en cas de non-réponse du serveur. A l’issue de ce délai, le client referme la session, la requête est perdue. Par défaut, ce délai est de 180 secondes. Il peut être modifié en raison de caractéristiques particulières (état du réseau, spécificités du Web Service, etc.). |
Web Service reset auth settings | Entier long | 5 | valeur = 0 (ne pas effacer les informations) ou 1 (les effacer) Cette option permet d’indiquer à 4D de mémoriser les informations d'authentification de l’utilisateur (nom d'utilisateur, mot de passe, méthode, etc.), dans le but de les réutiliser par la suite. Par défaut, ces informations sont effacées après chaque exécution de la commande WEB SERVICE CALL. Passez 0 dans valeur pour les mémoriser et 1 pour les effacer. A noter que lorsque vous passez 0, les informations sont conservées pendant la session mais ne sont pas stockées. |
Web Service SOAP header | Entier long | 2 | valeur = référence d’élément xml racine à insérer en tant que header (en-tête) de la requête SOAP. Cette option permet d’insérer un header dans la requête SOAP générée par la commande WEB SERVICE CALL. Par défaut, les requêtes SOAP ne comportent pas d’en-tête spécifique. Cependant, certains Web Services requièrent la présence de cet en-tête, par exemple pour la gestion de paramètres d’identification. |
Web Service SOAP version | Entier long | 3 | valeur = Web Service SOAP_1_1 ou Web Service SOAP_1_2 Cette option permet de préciser la version du protocole SOAP utilisée dans la requête. Passez dans valeur la constante Web Service SOAP_1_1 pour indiquer la version 1.1 et la constante Web Service SOAP_1_2 pour indiquer la version 1.2. |
L’ordre d’appel des options n’a pas d’importance. Si une même option est définie plusieurs fois, seule la valeur du dernier appel est prise en compte.
Exemple 1
Insertion d’un en-tête personnalisé dans la requête SOAP :
// Création d’une référence XML
var vRefRacine;vRefElement : Text
vRefRacine:=DOM Create XML Ref("RootElement")
vxPath:="/RootElement/Elem1/Elem2/Elem3"
vRefElement:=DOM Create XML element(vRefRacine;vxPath)
//Modification de l’en-tête SOAP avec la référence
WEB SERVICE SET OPTION(Web Service SOAP header;vRefElement)
Exemple 2
Utilisation de la version 1.2 du protocole SOAP :
WEB SERVICE SET OPTION(Web Service SOAP version;Web Service SOAP_1_2)