DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Nouveauté WINDEV Mobile 2024 !
Aide / Tuto WINDEV Mobile / Tuto - Développement d'une application Android et iOS
  • Leçon 7 - Consommer un Webservice
  • Présentation
  • Exemple pratique
  • Importation d'un Webservice SOAP
  • Consommation d'un Webservice SOAP
  • Appel au Webservice
  • Test du fonctionnement du Webservice
  • Consommation d'un Webservice REST
  • Appel du Webservice REST
  • Test de l'appel au Webservice REST
  • En résumé

Développement d'une application Android et iOS

Leçon 7 - Consommer un Webservice
Ce que vous allez apprendre :
  • Présentation.
  • Importation et consommation d'un Webservice SOAP.
  • Consommation d'un Webservice REST.
Durée de la leçon 10 mn
Présentation
Un service Web est généralement défini comme une application accessible via des protocoles Internet standard. Les services Web permettent notamment l'interactivité entre plusieurs ordinateurs connectés sur le réseau Internet.
Via les services Web, il est possible de faire exécuter des procédures et des traitements sur un serveur Web (.NET, SOAP ou J2EE) à distance depuis un poste client.
Avec WINDEV Mobile, ces services Web sont utilisables en tant que client, via le protocole SOAP sur HTTP (le protocole standard d'Internet pour le transfert des pages HTML), grâce aux fonctions SOAPxx, DotNetxx et J2EExx.
Quelle que soit la plateforme du serveur Web (.NET, J2EE, etc.), un service Web est accessible via l'utilisation de SOAP.
Avec WINDEV Mobile, il n'est pas nécessaire de maîtriser ces informations.
Un assistant se charge de ("presque") tout !

Exemple pratique

Pour tester et manipuler un Webservice, nous mettons à votre disposition un Webservice spécifique pour ce tutoriel.
Intégré au projet "WM Gestion Produit", ce Webservice permet 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 "WM Gestion Produit", puis l'utiliser dans l'application pour vérifier à partir d'une fiche Produit, la disponibilité du produit affiché.
Avertissement
Cette leçon est basée sur l'exemple WM Gestion Produits, manipulé dans la leçon 1. Pour suivre cette leçon, vous devez avoir effectué les manipulations des leçons précédentes.
Importation d'un Webservice SOAP
Pour importer un Webservice dans le projet :
  1. Sous le volet "Projet", dans le groupe "Projet", déroulez "Importer" et sélectionnez "Un Webservice".
  2. L'assistant d'importation se lance. Passez à l'étape suivante.
  3. 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
  4. Passez à l'étape suivante. L'importation du Webservice est réalisée.
    Importation réussie
  5. Validez la fenêtre d'information. Le Webservice importé est présent dans le dossier "Webservices importés" du volet "Explorateur de projet".
  6. 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 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 SOAP
Dans notre exemple "WM Gestion Produit", nous allons intégrer l'appel au Webservice dans la fenêtre interne permettant de voir le détail d'un produit. Un bouton "Stock" permettra de vérifier la disponibilité du produit affiché via le Webservice.

Appel au Webservice

Pour utiliser le Webservice :
  1. Ouvrez sous l'éditeur la fenêtre interne "FI_Produit" (double-cliquez sur son nom dans le volet "Explorateur de projet" par exemple).
  2. Diminuez la largeur du champ "Réappro".
  3. Supprimez le champ "Quantité".
  4. 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 à côté du champ "Réappro.".
    • Le champ est automatiquement créé.
  5. Modifiez les caractéristiques du champ (option "Description" du menu contextuel). Ce champ a pour nom "BTN_Stock" et pour libellé "Stock".
    Positionnement du champ Bouton 'Stock'
  6. Affichez les événements associés au champ (option "Code" du menu contextuel).
  7. Dans l'événement "Clic sur BTN_Stock", saisissez le code WLangage suivant :
    // Affiche la réponse du Webservice SOAP
    InfoConstruit("Nombre de produits ""%1"" en stock : %2", SAI_Référence, ...
    ProduitEnStock(SAI_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.
  8. Fermez l'éditeur de code et enregistrez la fenêtre (Enregistrer la fenêtre ou Ctrl + S).
  9. Fermez la fenêtre interne "FI_Produit".

Test du fonctionnement du Webservice

Nous allons maintenant tester le fonctionnement du Webservice :
  1. Ouvrez la fenêtre FEN_Avancé_LISTE_Produits (via la combiaison CTRL + E par exemple).
  2. Lancez le test de la fenêtre (Tester la fenêtre parmi les boutons d'accès rapide).
  3. Double-cliquez sur un produit : la fiche produit s'affiche.
  4. Cliquez sur "Stock".
    Test du Webservice
  5. Validez la fenêtre d'information et fermez le simulateur.
Consommation d'un Webservice REST
Dans notre exemple, nous avons consommé un Webservice SOAP. Il est également possible de consommer un WebService REST. Dans ce cas, il n'est pas nécessaire d'importer le Webservice dans l'application. Juste l'appel à la procédure voulue du Webservice est nécessaire.
Pour l'exemple, nous avons déployé un Webservice REST qui effectue le même traitement que le Webservice SOAP utilisé précédemment. Ce Webservice REST permet d'obtenir le stock du produit spécifié en utilisant l'adresse suivante :
https://exemples.webdev.info/produit/<Référence produit>

Appel du Webservice REST

Voyons comment utiliser ce Webservice REST dans notre exemple.
  1. Retournez sous l'éditeur dans le code du champ Bouton BTN_Stock.
  2. Passez le code existant en commentaires (sélectionnez les lignes de code et utilisez la combinaison de touches Ctrl + //).
  3. Saisissez le code suivant :
    // Affiche la réponse du Webservice REST
    h est un httpRequête
    h.Méthode = httpGet
    h.URL = "https://exemples.webdev.info/produit/" + SAI_Référence
    h.ContentType = "application/json"

    r est un httpRéponse = RESTEnvoie(h)
    Contenu est une chaîne ANSI

    SI r.CodeEtat = 200 ALORS // Requête traitée avec succès
    Contenu = r.Contenu
    Info(Contenu)
    SINON
    Info("Une erreur est survenue " +  ErreurInfo() + r.CodeEtat + r.DescriptionCodeEtat)
    FIN
    Ce code permet de :
    • Déclarer une variable de type httpRequête. Cette variable permet de définir les paramètres de la requête à effectuer pour interroger le Webservice REST. Les propriétés de cette variable sont :
      • La méthode utilisée : GET dans notre cas.
      • L'URL d'appel du Webservice : c'est l'URL que nous venons de voir. Dans notre cas, la référence du produit correspond à la valeur du champ SAI_Référence.
      • Le type du contenu du message HTTP à envoyer au serveur. Dans notre cas, le message est en JSON.
    • Envoyer la requête au serveur et récupérer la réponse grâce à la fonction RESTEnvoie. La réponse est une variable de type restRéponse.
    • Mettre en forme la réponse.
  4. Fermez l'éditeur de code et enregistrez la fenêtre (Enregistrer la fenêtre ou Ctrl + S).

Test de l'appel au Webservice REST

Nous allons maintenant tester le fonctionnement du Webservice :
  1. Ouvrez si nécessaire la fenêtre FEN_Avancé_LISTE_Produits (via la combiaison CTRL + E par exemple).
  2. Lancez le test de la fenêtre (Tester la fenêtre parmi les boutons d'accès rapide).
  3. Double-cliquez sur un produit : la fiche produit s'affiche.
  4. Cliquez sur "Stock".
  5. Validez la fenêtre d'information et fermez le simulateur.
En résumé
Projet corrigé
Vous voulez vérifier le résultat de vos manipulations ? Un projet corrigé est disponible. Ce projet contient les différentes fenêtres et états créés et manipulés dans cette leçon. Pour ouvrir le projet corrigé, dans la page d'accueil, cliquez sur "Tutoriel" puis dans la zone "Tuto - Développement d'une application Android/iOS", double-cliquez sur "Gestion de produits Android/iOS - Corrigé".
Cette leçon nous a permis de découvrir la manipulation des Webservices SOAP et REST.
Notre tuto sur le développement d'une application mobile s'arrête ici.
Vous pouvez approfondir vos connaissances sur WINDEV Mobile en consultant les pages de documentation suivantes :
Nous vous conseillons également de suivre le tuto concernant le déploiement d'une application mobile.
Leçon précédenteSommaire
Version minimum requise
  • Version 2024
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 16/11/2023

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