---
title: "Installation du Webservice SQL"
canonical: "https://help.winbooks.be/space/HelpLogFr/1277996/Installation%20du%20Webservice%20SQL"
format: markdown
---
> Macro (anchor)



> Macro (section)
> 
> > Macro (legacy-content)
> 
> > Macro (legacy-content)


# Prérequis

L'installation du Webservice SQL nécessite obligatoirement les éléments suivants :

:check_mark: IIS disposant du rôle "Application Development"  
:check_mark: Logistics/Flex avec [Module Synchro SQL](https://help-winbooks.atlassian.net/wiki/spaces/HelpLogFr/pages/1280923) pour les versions 6.2 et inférieure et module FullSql pour les versions 7.0 et supérieure  
:check_mark: Framework .NET 4.0  
:check_mark: Information de connexion à une base de donnée générée par Logistics/flex sous SQL Server  
:check_mark: Fichiers du Webservice SQL ([Pour 6.2 et inférieure](https://s3.amazonaws.com/winbooks-public/softwares/logistics/Webservice/WsSQL.zip), [Pour 7.0 et supérieure](https://s3.amazonaws.com/winbooks-public/softwares/logistics/Webservice/WsFullSQL.zip))

**Optionnel**  
:check_mark: Webservice Tools ([à télécharger ici](http://www.winbooks.be/wp-content/uploads/Lo/Files/Webservice/WebserviceTools.zip)) - Pour vous permettre de réaliser des tests sur le webservice  
:check_mark: SqlToDbf ([à télécharger ici](http://www.winbooks.be/wp-content/uploads/Lo/Files/Tools/sqltodbf.zip)) - 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


[Haut de page](#InstallationduWebserviceSQL-Hautdepage)

---

# Installation

### 1. Configuration de l'application pool

1. Ajoutez l'*Application Pool* dans IIS.
  
2. Dans le champ **.NET Framework version**, sélectionnez le **.NET Framework 4.0.**
  
3. Modifiez l'**Identity** de l'application pool que vous venez de créer via le menu **Advanced settings**.

### 2. Installation des fichiers du Webservice SQL

1. 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**
2. Modifiez la sécurité du répertoire créé via l'onglet **Security**de la fenêtre de propriété de ce dossier.
  1. Ajoutez l'utilisateur mentionner dans l'application pool.
  2. 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** |
| --- | --- | --- |
| <span style="color: #000000">WSSQL_TABLETOSYNC</span> | 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.<br>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

1. Dans IIS, ouvrez le menu Application Settings
  
2. Définissez les différents paramètres suivant le paramétrage de votre dossier  
  
> Macro (inline-media-image)

  
*Description des entrées de configuration *





Vous pouvez également modifier le fichier **Web.config** via un éditeur de texte, et configurer les `key de l'``appSettings`.

![image](media://4abaeffa-1846-4c9b-8bed-e4c6f8ec7130)

### 5. Création de l'application dans IIS

1. Ajoutez une application dans IIS.
2. Sélectionner l'application pool.
  L'**Alias** sera utilisé dans l'URL d'accès au Webservice.
3. 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](http://127.0.0.1/MonDossier_WSSQL/ServiceWcf.svc?wsdl)
  
4. Si l'installation est correcte, vous devriez avoir une réponse semblable à l'écran suivant dans votre navigateur web :

### 6. 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

1. Créez ou importer un certificat dans IIS dans le serveur  
  
> Macro (inline-media-image)

  
> Macro (inline-media-image)
2. Modifiez le Binding du site internet ou se situe le webservice
  
3. Ajoutez le binding https pour toutes les adresse et spécifiez le certificat à utiliser pour cette connexion
4. 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.

[Haut de page](#InstallationduWebserviceSQL-Hautdepage)

---

# 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](http://www.winbooks.be/wp-content/uploads/Lo/Files/Webservice/WebserviceTools.zip)


### Configuration des données de connexion

> Macro (section)
> 
> > Macro (legacy-content)
> 
> > Macro (legacy-content)

### 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](https://help-winbooks.atlassian.net/wiki/display/HelpLogFr/Utilisation+du+Webservice+SQL) 

##### Requête standard<span style="color: #000000"> </span>

> Macro (section)
> 
> > Macro (legacy-content)
> 
> > Macro (legacy-content)

##### Requête personnalisée

> Macro (section)
> 
> > Macro (legacy-content)

[Haut de page](#InstallationduWebserviceSQL-Hautdepage)

---

# 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`

![image](media://de09a81c-7963-467b-b77d-384b61c9d7d5)

Description des lignes :

> Macro (table-plus)
> 
> | `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](#InstallationduWebserviceSQL-Hautdepage)

---

# 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.
  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>
  Ajoutez le code suivant toujours dans la balise <system.serviceModel>
  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

[Haut de page](#InstallationduWebserviceSQL-Hautdepage)