Page History
Anchor | ||||
---|---|---|---|---|
|
Section | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Prérequis
L'installation du Webservice SQL nécessite obligatoirement les éléments suivants :
IIS
...
disposant du rôle "Application Development"
Logistics/Flex avec Module Synchro SQL pour les versions 6.2 et inférieure et module FullSql pour les versions 7.0 et supérieure
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 (Pour 6.2 et inférieure, Pour 7.0 et supérieure)
...
Optionnel
Webservice Tools (à télécharger ici)
...
- Pour vous permettre de réaliser des tests sur le webservice
SqlToDbf (à télécharger ici) - Nécessaire dans le cas ou des écritures
...
doivent être réalisées dans la base de données
...
pour les version 6.2 et inférieure
Webservice Tools (à télécharger ici) - Pour vous permettre de réaliser des tests sur le webservice
...
Installation
1. Configuration de l'application pool
Ajoutez l'Application Pool dans IIS.
Warning 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.
Info Nous vous recommandons d'utiliser l'identity NetworkService ou un compte utilisateur.
Tip title Version non serveur de Windows Expand title Exécutez les lignes de commandes suivantes uniquement si IIS est installé sur Windows 7 (version non serveur) Code Block %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. Installation & configuration du SQLTODBF
L'utilitaire SQLTODBF est utilisé pour reporter les modifications apportée sur la base de donnée SQL dans la base de données DBF utilisé par le programme, si le webservice est utilisé uniquement en lecture cette étape peut être ignorée
Le webservice exécute de manière automatique à intervalle réguliere cet utilitaire afin de reporter les ajout et modification de la base de données SQL vers le DBF
Prérequis
- Exécuté par un utilisateur disposant des droits de lecture et écriture et suppression dans le répertoire du dossier client de logistics
- les composant Visual Foxpro 9 doivent être installé sur la machine exécutant le logiciel
Installation
Dézipper l’exécutable dans un répertoire dont le compte qui est définit dans l'application pools dispose de droit de lecture, vous devrez indiquer le chemin de ce répertoire dans la clé SqlToDbfPath qui est à définir à l'étape Configuration du fichier Web.Config
Configuration
vous pouvez configurer divers paramètre pour l’exécution et le traitement exécuté par le SqlToDbf, les paramètres sont a ajouter dans les paramètre généraux du dossier client Logistics
Paramètre | Description | Valeur par défaut |
---|---|---|
WSSQL_TABLETOSYNC | Table ou les modifications SQL sont à reprendre en DBF, les tables sont séparées par * | DOCHEAD*DOCDET*CUST*PERS |
WSSQL_SQLTODBF_TIMER | Délai en seconde que le webservice attend avant d'exécuté une nouvelle instance du SQLTODBF. Si une instance est toujours en cours d’exécution l'appel est ignoré | 10 |
Exécution manuelle
Suivant votre environnement vous pouvez décider d'exécuter le SqlToDbf manuellement dans un scheduler par exemple
Pour ce faire vous devez exécuter le SqlToDbf avec les paramètres suivant
Paramètre | Description | Exemple de valeur |
---|---|---|
1 | Table à synchroniser | "DOCHEAD*DOCDET*CUST*PERS" |
2 | Chemin de l'installation data de logistics | "c:/winbooks/data/logistics/" |
3 | Nom du répertoire du dossier client | "DEMOLOGISTICS_FR" |
Gestion des erreurs
En cas d'erreur le programme génère un log par jour dans le dossier logistics sous la forme <date> error - sqltodbf.txt
Vous pouvez vérifier si les données sont bien renvoyée dans les table dbf en regardant si le champ SQLMODIF dans la base de données SQL est bien à 0.
4. 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 configurationAdvanced Tables - Table Plus enableSorting false 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 :Panel bgColor white borderStyle dashed "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 fonctionWSLOGIN
.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. (pour version 6.2 et inférieure) SqlToDbfUser
Utilisateur repris par le Webservice SQL pour lancer l'utilitaire SqlToDbf. Optionnel, utilisé dans les environnements très sécurisés. (pour version 6.2 et inférieure) 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. (pour version 6.2 et inférieure) 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. (pour version 6.2 et inférieure)
Vous pouvez également modifier le fichier Web.config via un éditeur de texte, et configurer les key de l'
appSettings
.
...
5. 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
Warning 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 :
Info Pensez aussi à vérifier la disponibilité du Webservice à l'extérieur et à rediriger les ports si nécessaire.
...
6. Configuration en HTTPS
Info |
---|
Cette section est optionnelle et nécessite la modification du site hébergeant le webservice |
Créez ou importer un certificat dans IIS dans le serveur
Warning title Certificat autosigné 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
Si les modifications ne sont pas directement prisent en compte vous pouvez redémarrer l’ensemble d'ISS via la commande "IISRESET" dans le cmd de windows en mode administrateur.
Info Dans certains environnements des modifications du fichiers web.config sont nécessaires.
Veuillez vous référé à la section "Problèmes et solutions" si vous êtes dans ce cas.
...
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
Section | |||||||||
---|---|---|---|---|---|---|---|---|---|
|
Exécuter une requête
Cette étape permet de procéder à l'envoi d’une requête wsrequest sur
...
le webservice indiqué dans l'onglet configuration.
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é.
Vous trouverez la documentation sur les requests standard en suivant ce lien
Requête standard
Section | |||||||
---|---|---|---|---|---|---|---|
|
Requête personnalisée
Section | ||
---|---|---|
|
...
Liaison avec le Webservice DBF
Note |
---|
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 :
Advanced Tables - Table Plus | ||||||
---|---|---|---|---|---|---|
| ||||||
|
...
Problèmes et solutions
Le webservice ne fonctionne pas en HTTPS malgré la configuration suivie
Le fichier web.config fourni de base permet de gérer une connexion HTTPS sur la plupart des systèmes.
Cependant dans certains environnements, des modifications doivent être apportées pour ajouter des spécifications de sécurité à la configuration initiale.Info Avant toute modification, pensez à sauvegarder votre fichier web.config
Ouvrez votre fichier web.config via un éditeur de texte, la structure de ce fichier est semblable à un XML.
Repérez le tag <system.serviceModel>
Ajoutez le code suivant après le tag <system.serviceModel>Code Block language yml <bindings> <basicHttpBinding> <binding name="TransportSecurity"> <security mode="Transport"> <transport clientCredentialType="None"/> </security> </binding> </basicHttpBinding> </bindings>
Ajoutez le code suivant toujours dans la balise <system.serviceModel>Code Block language yml <services> <service name="WcfEcom.ServiceWCF"> <endpoint address="" binding="basicHttpBinding" bindingConfiguration="TransportSecurity" contract="WcfEcom.IServiceWcf"/> </service> </services>
Sauvegardez votre fichier et relancez l'application pool associé au webservice
Vérifiez dans le ServiceWcf.svc?wsdl de votre webservice que les urls renseignées sont correcte et bien en https.
- 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