Le Webservice SQL de Logistics/Flex se base sur les données répliquées par le Module Synchro SQL dans la base de données de SQL Server afin de de fournir une réponse la plus rapide possible. Cette façon de faire oblige le Webservice SQL, dans un premier temps, a fournir uniquement des requêtes de lecture de la base de données. Il est donc nécessaire dans le cas des requêtes d'écriture (ajout de commande, création de client ou autre modification de la base données) de travailler conjointement avec l’utilitaire SqlToDbf. Dans le cas où un site utilise l'ancienne version du Webservice en DBF, il est possible de spécifier au Webservice existant que certaines requêtes doivent être traitées par la version SQL. Cette approche vous permet d'éviter d'interroger 2 Webservices différents. |
Sur cette page: |
|
|
Prérequis
L'installation du Webservice SQL nécessite obligatoirement les éléments suivants :
IIS diposant du rôle "Application Development"
Logistics/Flex avec Module Synchro SQL
Framework .NET 4.0
Information de connexion à une base de donnée générée par Logistics/flex sous SQL Server
Fichiers du Webservice SQL (à télécharger ici)
Optionnel
SqlToDbf (à télécharger ici) - Nécessaire dans le cas ou des écritures sont réalisées dans la base de données
Webservice Tools (à télécharger ici) - Pour vous permettre de réaliser des tests sur le webservice
Haut de page
Installation
1. Configuration de l'application pool
Ajoutez l'Application Pool dans IIS.
Il est obligatoire de créer un application pool par Webservice SQL et dossier Logistics/Flex. |
Dans le champ .NET Framework version, sélectionnez le .NET Framework 4.0.
Modifiez l'Identity de l'application pool que vous venez de créer via le menu Advanced settings.
Nous vous recommandons d'utiliser l'identity NetworkService ou un compte utilisateur. |
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
"c:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\servicemodelreg" -i |
|
|
2. Installation des fichiers du Webservice SQL
Créez un répertoire et dé-zippez les fichiers du Webservice (Les fichier du Webservice sont à demander par mail au support Logistics).
Dans cette documentation nous utiliserons le chemin : c:\inetpub\wwwroot\dossier_webserviceSQL
Modifiez la sécurité du répertoire créé via l'onglet Securityde la fenêtre de propriété de ce dossier.
- Ajoutez l'utilisateur mentionner dans l'application pool.
Ajoutez aux droits standard, les droits en écriture dans le dossier.
3. Configuration du fichier Web.config
- Dans IIS, ouvrez le menu Application Settings
Définissez les différents paramètres suivant le paramétrage de votre dossier
Description des entrées de configuration
key
| value
|
---|
ConnexionStringSql
| Information de connexion à la base de données de SQL Server. De façon typique elle se constitue de la manière suivante : "Data Source=SERVER2008DEV;Initial Catalog=DEMO;User ID=sa;Password=1234"
|
Data Source : nom DNS du ou IP du serveur contenant la database sql.Initial Catalog : nom de la base de donnée celle-ci est généralement la même que le nom du dossier dans Logistics/Flex.User ID : nom de l'utilisateur SQL.Password : password de l'utilisateur SQL.
| Serial
| Numéro de série du dossier Logistics/Flex. | DataRootPath
| Chemin envoyé par le site web et utiliser par le Webservice DBF. Ce chemin doit être indiqué pour le calcul de la clé applicative renvoyée par la fonction WSLOGIN . | CompID
| Nom du dossier client dans Logistics/Flex. | Debug
| Création de log par le Webservice pour le debuging. | SqlToDbfPath | Chemin utilisé par l’utilitaire SqlToDbf. | SqlToDbfUser | Utilisateur repris par le Webservice SQL pour lancer l'utilitaire SqlToDbf. Optionnel, utilisé dans les environnements très sécurisés. | SqlToDbfPassword | Mot de passe de l'utilisateur repris par le Webservice SQL pour lancer l'utilitaire SqlToDbf. Optionnel, utilisé dans les environnements très sécurisés. | SqlToDbfDomain | Domaine de l'utilisateur repris par le Webservice SQL pour lancer l'utilitaire SqlToDbf. Optionnel, utilisé dans les environnements très sécurisés. |
|
Vous pouvez également modifier le fichier Web.config via un éditeur de texte, et configurer les key de l'
appSettings
.
4. Création de l'application dans IIS
Ajoutez une application dans IIS.
Sélectionner l'application pool.
L'Alias sera utilisé dans l'URL d'accès au Webservice.
A partir de cette étape, vous pouvez tester si le webservice SQL est correctement lancé par IIS, via un navigateur web en tapant cette URL (n'oubliez pas d'adapter l'URL suivant votre paramétrage !) :
http://127.0.0.1/MonDossier_WSSQL/ServiceWcf.svc?wsdl
Dans l'URL de test, il faut indiquer l'Alias de l'application et non le nom du répertoire. |
Si l'installation est correcte, vous devriez avoir une réponse semblable à l'écran suivant dans votre navigateur web :
Pensez aussi à vérifier la disponibilité du Webservice à l'extérieur et à rediriger les ports si nécessaire. |
5. Configuration en HTTPS
Cette section est optionnelle et nécessite la modification du site hébergeant le webservice elle nécessite également au minimum la version 1.1.0.2 du webservice |
Créez ou importer un certificat dans IIS dans le serveur
Dans le cas d'un certificat autosigné, l'appel au webservice peut être perturbé car le certificat ne sera pas autorisé par l'ordinateur distant attaquant le webservice Pour vous permettre d'utiliser votre certificat, vous devez importer ce dernier dans l'ordinateur distant dans le magasin "Autorités de certification racines de confiance" |
- Modifiez le Binding du site internet ou se situe le webservice
- Ajoutez le binding https pour toutes les adresse et spécifiez le certificat à utiliser pour cette connexion
Haut de page
Test du Webservice SQL
Un programme est disponible pour vous permettre de réaliser des tests sur un webservice SQL.
Ce dernier est téléchargeable via ce lien : Programme de test du webservice à télécharger
Configuration des données de connexion
L'onglet "Config" vous permet de configurer et de tester la connexion au webservice.
Via le menu Config File, vous pouvez charger une configuration existante ou sauvegarder votre configuration actuelle la section Login Options peut fonctionner de deux manières distinctes :
- Si vous connaissez la clé partagée du webservice, vous pouvez directement remplir la clé partagée et vérifier la validité via le bouton "Validate Webservice"
- Si un user et un mot de passe ont été définit vous pouvez les indiquer dans les champs prévu et réaliser une request wsLogin via le bouton "Get Webservice Key" pour récupérer la clé partagée
la clé doit être valide pour passer dans l'onglet Request |
|
|
Exécuter une requête
Cette étape permet de procéder à l'envoi d’une requête wsrequest sur l’un des webservices initialisées par le programme de test.
Il est possible d'exécuter des requêtes standard mais également des requêtes personnalisées venant d'un plug in.
Vous pouvez également sauvegarder et charger des request que vous avez réalisé.
Requête standard
Sélectionnez le nom de la requête dans la liste déroulante, et ensuite remplissez les XML Header, Data et Footer avec les données souhaitées. Lorsque les données sont complétées, exécutez la requête sur les webservices initialisés. Le résultat de la requête ainsi que son temps d'exécution sont affichés dans la partie inférieure de l'onglet. |
|
Requête personnalisée
Les requêtes personnalisées fonctionnent comme les requêtes standard sauf que vous devez indiquer le nom de votre requête au lieu de le sélectionner dans la liste déroulante une des propositions de requête. |
|
Haut de page
Liaison avec le Webservice DBF
Cette section est optionnelle et elle est proposée uniquement pour les sites existants afin permettre une phase d'adaptation sans mise hors service du site. |
Configuration du fichier wsFlex.ini
Ajouter les lignes suivantes dans la configuration de votre dossier contenu dans le fichier wsFlex.ini
Description des lignes :
key
| value
|
---|
WCF_URL
| correspond à l'adresse du Webservice SQL. | XXXX_USEWCF
| XXXX représente le nom d'une fonction du webservice. Les fonctions qui sont mentionnées de la sorte dans le fichier de configuration avec la valeur YES seront redirigées vers le Webservice SQL pour traitement, le Webservice DBF sert alors simplement d'intermédiaire.
|
|
Haut de page
Problèmes et solutions
- Le webservice ne répond pas à l'utilitaire de test ou retourne un message d'erreur vague.
Vérifiez que vous avez activer Debug avec la valeur "true" dans l'application settings du webservice et qu'un répertoire log se soit créé dans le répertoire d'installation du webservice
Vous pouvez consulter le log pour déterminer la source de l'erreur.
Dans le cas ou aucun répertoire log n'est créé malgré l'option spécifiée vérifier les droits dans le répertoire ou se situe le webservice, ce répertoire doit disposer des droits suffisant pour le compte spécifié dans l'application pools
Dans le cas ou vous rencontrez toujours des problèmes vérifiez que vous avez correctement effectuer votre installation.
- Les données ajoutées ou modifiées via le webservice ne sont pas renvoyée vers le programme Logistics.
Vérifiez si les données que vous avez spécifié se retrouve dans la base de données SQL avec le champ SQLMODIF à la valeur 1
Si c'est bien le cas le problème se situe au niveau du SQLTODBF qui n'a soit pas réussis à reporter l'information dans la base de données DBF ou se dernier n'a pas pu être lancé via le webservice SQL
Vérifiez dans le dossier du client si des fichier txt du type "20180718 Error - SqlToDbf" dans ce cas il s'agit de message d'erreur rencontré par le SqlToDbf, le contenu du log doit vous permettre de résoudre le problème.
Dans le cas ou aucun log ne se trouve dans le dossier le mieux est de tester si le sqltodbf peut être correctement lancé et qu'il n'y a pas un problème de droit. pour se faire exécutez le SqlToDbf avec les paramètres suivant :
"nom_table1*nom_table2" "c:\logistics\Data\" "FOLDER"
Si le programme c'est correctement exécuté et que les champs SQLMODIF à 1 des tables spécifiées sont bien repassé à 0 il s'agit d'un problème de droits dans la configuration de l'application settings ou dans d'un manque de droit pour le compte spécifié dans l'application pools ce qui empêche l’exécution du SqlToDbf automatiquement par le webservice.
Si le programme c'est correctement exécuté mais qu'aucun record n'a été traité, vérifiez si aucun SqlToDbf ne se trouve dans le gestionnaire de tâche de windows et qu'aucun fichier SqlToDbf.working n'est présent, dans le ce cas supprimez le fichier et terminez le process du SqlToDbf pour son exécution et réessayez d’exécuter le SqlToDbf
Si le programme ne s'exécute pas, veuillez vérifier le message reçu pour résoudre le problème, il est fort probable que les librairies virtual foxpro ne soient pas disponible sur la machine, vous pouvez résoudre ce problème en installant une workstation de Logistics.
Si aucune données dans la table n'a de tag SQLMODIF n'est à 1 alors que des requests d'ajout ou de modification de données ont bien été envoyée au webservice veuillez vérifier les log du webservice afin de voir si aucun soucis n'ont été logué pendant l’exécution de la request