WebDev 21 : Les web services

Créer un web service renvoyant un tableau

Testez gratuitement nos 1324 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Vous allez maintenant apprendre à créer un web service qui renvoie des données sérialisées depuis un tableau.
05:05

Transcription

Le web service que nous venons de créer était assez simple car il renvoie simplement une chaîne de caractères. Donc là c'est relativement simple à écrire, comme vous l'avez vu, et simple à récupérer de l'autre côté. Maintenant, nous allons ajouter une fonction un peu plus compliquée dans la mesure où ce que je veux renvoyer n'est pas une simple chaîne mais un tableau de valeurs. En l'occurence un tableau des noms d'animaux par exemple, tout simplement, la liste des animaux sous forme d'un tableau. Le problème c'est de quelle manière vais-je renvoyer le tableau ? De quelle manière vais-je le récupérer de l'autre côté ? Il y a plusieurs façons de faire, par exemple, on pourrait imaginer de lire tous les noms d'animaux du fichier et de les concaténer dans une chaîne de caractères séparés par une tabulation ou autre chariot, quelque chose dans ce genre-là. Et de l'autre côté, faire l'opération inverse, évidemment pour les séparer. Pourquoi pas ? Ça peut très bien fonctionner. Dans ce cas-là, le principe sera le même, on va renvoyer une chaîne de caractères. Il y a simplement des moyens plus efficaces où on va pouvoir créer le tableau d'un côté, le transformer en chaîne de caractères, d'une certaine manière, en l'occurrence, le transformer en XML ou en Jason et de l'autre côté, le récupérer et le retransformer en tableau. Ça peut paraître plus lourd au départ mais c'est plus efficace et propre, pourrait-on dire. Je vais vous montrer comment on fait. Ici, je vais faire un clic-droit et créer une nouvelle procédure globale. Donc, je vais l'appeler liste_Animaux. Comme tout à l'heure, je vais enlever les commentaires pour que ce soit plus clair sur l'écran. Et je vais commencer par définir mon tableau. Le tableau, je vais l'appeler tout simplement Tableau_Animaux est un tableau de chaînes Jusque là, vous savez faire, j'imagine. On va le remplir, en parcourant donc le fichier Animaux. Alors, il m'en a trop mis, là. POUR TOUT Animaux, on va faire un TableauAjoute. TableauAjoute donc, dans le tableau qu'on vient de définir. Tableau_Animaux. J'ajoute quoi ? J'ajoute Animaux.Nom. Dans la mesure ou ce sont les noms des animaux qui m'intéressent et que je veux ajouter dans la liste. Jusque là, pas très difficile. Maintenant que j'ai mon tableau, Je voudrais le transformer en XML pour le renvoyer à l'application qui appelle mon web service. Donc là, je vais utiliser une fonction qui s'appelle Sérialise. L'action de sérialiser, qui existe dans de nombreux langages, consiste à transformer une donnée, en général une variable, un élément du code, donc une variable, une classe, un objet, etc. à le transformer sous forme binaire ou texte, de manière à pouvoir le transférer en général à une autre application de l'autre côté, ou le sauvegarder sur disque par exemple. De l'autre côté, on va désérialiser, c'est-à-dire qu'on va reprendre ce contenu et faire l'opération inverse, on va le retransformer en chaîne de caractères, en variable, en classe, en objet selon le cas. Pour sérialiser mon tableau, en l'ocurence, je vais le sérialiser en XML, il faut que je commence par déclarer une variable qui va contenir le résultat. Ça serait une chaîne puisque c'est du XML que je vais faire. Donc, je vais l'appeler Liste_animaux_chaine. Pas trop d'imagination ici. Il ne faut simplement pas que je l'appelle Liste_Animaux parce que c'est le nom de ma fonction. Liste_animaux_chaine est une chaîne, on s'en doute. Par contre, attention, ça sera une chaîne ANSI. Parce qu'à partir du moment où on va manipuler le XML, il faut utiliser le format ANSI. Une question de nombres d'octets utlisés pour chaque caractère par exemple. Maintenant, je vais sérialiser le tableau en écrivant Sérialise. Ici, il me demande la variable à sérialiser, donc c'est tabTableau. Le buffer dans lequel j'envoie le résultat, ou la chaîne ANSI, comme vous voyez ici. Donc en l'occurence, c'est sListe_animaux_chaine. Et enfin, le format que je veux donner donc à ce résultat. Comme je vous l'ai dit, ça sera du XML. Voilà, on s'arrête là pour les paramètres. Donc normalement, si tout se passe bien, dans ma chaîne, j'ai la transformation XML du tableau. Je vais maintenant pouvoir le renvoyer au logiciel appelant. Tout simplement, donc, on va générer le webservice. Et le redéployer à nouveau comme on l'a fait précédemment. Tout ce que j'ai à faire, c'est reprendre l'assistant et refaire les mêmes manipulations. Voilà. Là, ça devrait fonctionner, nous allons cliquer sur la page de test. On dispose maintenant d'une fonction qui s'appelle liste_animaux que je vais essayer. Je clique sur test et on a le résultat. Vous avez ici la liste des animaux sous forme XML. Maintenant, il va s'agir de récupérer ça dans notre application de test et surtout, derrière, le désérialiser pour en faire un tableau.

WebDev 21 : Les web services

Créez et utilisez les web services et les services REST avec WebDev. Donnez l’accès à vos données et à vos services aux applications externes qui devront les utiliser.

1h59 (21 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
WebDev WebDev 21
Spécial abonnés
Date de parution :13 avr. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !