Le web service est constitué de plusieurs méthodes que nous allons décrire ci-dessous. Ces méthodes se trouvent dans un fichier appelé ws_proc109 contenu dans ws_proc109.zip. Ces fichiers sont à placer dans le répertoire Webservice (à créer si nécessaire) se trouvant dans le parent du dossier client (ex : c:\winbooks\data\logistics\Webservice).
Warning
Veillez toujours à avoir la dernière version du fichier ws_proc109.fxp installée (surtout en cas d'erreur avec le web service). La dernière version ne correspond pas au numéro 109 contenu dans le nom du fichier mais à la date du fichier. Pour s'assurer d'avoir la dernière version, téléchargez ws_proc109.zip, ou (à partir de la version 5.5 de Logistics) cliquez sur le bouton Télécharger ou mettre à jour le WsProc qui est accessible via le menu Dossier > Paramétrage > Paramètres généraux, onglet Options, dans l'option E-Commerce.
Ces méthodes permettent par exemple de créer, modifier un utilisateur ou encore d'avoir le prix actuel d'un article donné pour un stock bien précis, etc...
La première chose à faire est d'initialiser le web service que vous voulez utiliser en appelant sa méthode WSLOGIN. Cette méthode vous renverra différentes variables sous forme d'XML, ces variables vous serviront pour l'appel de vos méthodes (en vert ci-dessous). Tous les appels de méthodes se font par le biais de la méthode REQUEST dont voici les paramètres :
wsrequest (Nom de la procédure, LsPath, LsKey, LsLang, XmlHeader, XmlFile,XmlFooter)
Panel
title
Gestion des timeouts du web service version DBF
La gestion des timeouts dans le web service (version DBF) permet d'éviter des erreurs sur des serveurs lents ou engorgés de demande.
Voici quelques explications afin de pouvoir adapter votre site web en conséquence.
En cas de timeout d'une fonction wsrequest, un XML de réponse de ce type est renvoyé par le web service :
Code Block
language
html/xml
title
XML timeout
<timeout>
<msg>Timeout after 40 seconds</msg>
<transacid>8c7cea366e9a429ebed5363835b87c32</transacid>
<retrycount>0</retrycount>
</timeout>
La balise <msg> correspond à un message explicatif. La balise <transacid> contient l'ID de la transaction. Et la balise <retrycount> contient la valeur du compteur d’essais.
Le timeout est définit à 40 secondes pour un wscheckorder ou wsputorder et à 24 secondes pour les autres fonctions du wsrequest.
A partir de ce point, le site web peut interroger à nouveau le web service grâce à la nouvelle fonction TRANSACSTATUSdu wsrequest.
Cette fonction utilise la même structure que les autres fonctions wsrequest. Elle s'attend juste à retrouver un XML dans le XmlHeader contenant les balises <transacid> et <retrycount>.
Cette fonction va rechercher si un problème est survenu dans le processus ou si une réponse a été générée entre temps.
Au bout de 20 secondes, si le processus n'a pas retourné de résultat alors le même XML timeout que précédemment est retourné avec la valeur du retrycount incrémentée.
Dans le cas où une réponse a été générée, ce résultat est retourné.