DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Nouveauté WINDEV 2024 !
Aide / Tuto WINDEV / Tuto - Consommer un Webservice
  • Qu'est-ce qu'un Webservice ?
  • Exemple pratique
  • Importation d'un Webservice
  • Consommation d'un Webservice
  • En résumé

Tuto - Consommer un Webservice

Ce que vous allez apprendre :
  • Qu'est-ce qu'un Webservice ?
  • Exemple pratique :
    • Importation d'un Webservice.
    • Consommation d'un Webservice.
Durée de la leçon 10 mn
Qu'est-ce qu'un Webservice ?
Tout d'abord, voyons en quoi consiste un Webservice. Voici une définition simple.
Un Webservice est un ensemble de points d'entrée mis à la disposition des utilisateurs afin d'effectuer différents traitements. Par exemple, un service d'accès distant met à votre disposition les traitements d'accès aux données. Les échanges d'informations avec un Webservice se font au format XML et utilisent les protocoles SOAP (Simple Object Access Protocol) et HTTP.
A partir de la description au format WSDL (Web Services Description Language) de ce service, WINDEV va générer automatiquement des types et des fonctions WLangage correspondants à l'interface de programmation du Webservice.
Pour utiliser le Webservice, il suffit alors d'utiliser les fonctions générées au moment de l'import.
Exemple pratique
Pour tester et manipuler un Webservice, nous mettons à votre disposition un Webservice spécifique pour ce tutoriel.
Intégré au projet "WD Application Complète", ce Webservice permettra d'interroger une base fournisseur pour vérifier la disponibilité (stock) d'un produit à partir de sa référence.
Nous allons dans un premier temps, importer le Webservice dans le projet "WD Application Complète", puis l'utiliser dans l'application pour vérifier à partir d'une fiche Produit, la disponibilité du produit affiché.
Ouverture du projet exemple
  1. Affichez la page d'accueil de WINDEV (Ctrl + <).
  2. Dans la page d'accueil, cliquez sur "Tutoriel" puis dans la zone "Tuto - Application WINDEV : gérer des données", double-cliquez sur "Application complète - Corrigé".
  3. Si nécessaire, placez-vous sur la configuration de projet "Exécutable Windows 64 bits" : dans le volet "Explorateur de projet", dans le dossier "Configurations", double-cliquez sur "Exécutable Windows 64 bits".
Importation d'un Webservice
Pour importer un Webservice dans le projet :
  1. Sous le volet "Projet", dans le groupe "Projet", déroulez "Importer" et sélectionnez "Un Webservice". L'assistant d'importation se lance. Passez à l'étape suivante.
  2. Indiquez l'adresse à laquelle la description WSDL du Webservice doit être importée :
    https://exemples.webdev.info/WSAUTOFORMATIONV2_WEB/awws/WSAutoformationV2.awws?wsdl

    Rappel : Ce Webservice permet d'interroger une base fournisseur pour vérifier la disponibilité (stock) d'un produit à partir de sa référence.
    Assistant d'importation d'un Webservice
  3. Passez à l'étape suivante. L'importation du Webservice est réalisée.
    Importation réussie
  4. Validez la fenêtre d'information. Le Webservice importé est présent dans le dossier "Webservices importés" du volet "Explorateur de projet".
  5. Dans le volet "Explorateur de projet", déroulez le dossier "Webservices importés".
Arrêtons-nous un instant sur les informations affichées dans le volet "Explorateur de projet" :
Volet 'Explorateur de projet'
La structure correspondant au Webservice est constituée de :
  • le nom du Webservice (WSAutoformationV2 dans cet exemple),
  • le nom de chaque fonction (ProduitEnStock dans cet exemple).
Pour connaître la syntaxe d'appel du Webservice, il suffit de double-cliquer sur le nom de la fonction dans le volet "Explorateur de projet". L'éditeur de code affiche la description de la fonction, avec le prototype de l'appel de la fonction :
Appel de la fonction
Consommation d'un Webservice
Dans notre exemple "WD Application Complète", nous allons intégrer l'appel au Webservice dans l'onglet permettant de voir la liste des produits. Un bouton "En stock ?" permettra de vérifier la disponibilité du produit affiché via le Webservice.
Pour utiliser le Webservice dans notre projet :
  1. Ouvrez sous l'éditeur la fenêtre "FEN_Menu" (double-cliquez sur son nom dans le volet "Explorateur de projet" par exemple).
  2. Dans l'onglet "Liste des produits", ajoutez un champ Bouton :
    • Sous le volet "Création", dans le groupe "Champs usuels", cliquez sur Créer un champ Bouton.
    • Cliquez dans la fenêtre sous le champ Bouton "Modifier".
    • Le champ est automatiquement créé.
  3. Modifiez les caractéristiques du champ Bouton (option "Description" du menu contextuel) :
    • Saisissez le nouveau nom de ce champ "BTN_EnStock".
    • Saisissez le nouveau libellé de ce champ "En stock ?".
      Positionnement du champ Bouton 'En stock ?'
  4. Validez.
  5. Affichez les événements associés au champ (option "Code" du menu contextuel).
  6. Dans l'événement "Clic sur BTN_EnStock", saisissez le code WLangage suivant :
    // Affiche la réponse du Webservice
    InfoConstruit("Nombre de produits ""%1"" en stock : %2", COL_Référence, ProduitEnStock(COL_Référence))
    Examinons ce code :
    • La fonction du Webservice ProduitEnStock est appelée. Ce code utilise le prototype de la fonction que nous avons précédemment affiché dans l'éditeur de code.
    • La réponse est mise en forme et affichée.
  7. Fermez l'éditeur de code et enregistrez la fenêtre (Enregistrer la fenêtre ou Ctrl + S).
Nous allons maintenant tester le fonctionnement du Webservice :
  1. Lancez le test du projet (Tester le projet parmi les boutons d'accès rapide).
  2. Cliquez si nécessaire sur l'onglet "Liste des produits".
  3. Sélectionnez un produit au hasard dans le champ Table et cliquez sur "En stock ?".
    Test du Webservice
  4. Validez la fenêtre d'information et fermez l'application.
En résumé
Ce tuto nous a permis de voir comment importer et utiliser / consommer un Webservice dans votre application. Pour aller plus loin, vous pouvez consulter les pages suivantes :
Sommaire
Version minimum requise
  • Version 2024
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 15/11/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale