TUTORIEL FLASH 
Utiliser WebServiceConnector
Les nouveaux composants proposés par Flash MX 2004 offrent une large palette de possibilités puissantes, très simples à mettre en place. Démonstration avec l'utilisation d'un service Web. (15/04/2005)
Après avoir étudié le fonctionnement du composant XMLConnector fourni par Flash MX 2004 (voir l'article du 11/03/2005), nous allons nous pencher sur une version plus spécialisée de ce composant, destiné comme son nom l'indique à faciliter la gestion de services Web tiers. A l'instar de son pendant XML, WebServiceConnector permet de se décharger presque complètement de tout appel ActionScript, pour gérer directement depuis l'interface Flash les différents flots de données (entrants et sortants) liés au service visé.

WebServiceConnector prend donc en charge, en entrée comme en sortie, les appels à un service Web, ou plus précisément, la reconnaissance des opérations reconnues par le service via le fichier WSDL qu'il publie, et la conversion au format SOAP des messages circulants entre l'application et le service. La mise en place, pour les applications de base, peut se faire sans même devoir toucher au code lui-même, simplement en manipulant l'interface de l'IDE et en combinant ce composant avec les autres composants proposés par Flash MX 2004.

Mise en place
La construction d'une simple application se révèle ainsi d'une facilité déconcertante tant Flash prend les choses en main. Prenons pour exemple l'utilisation du service Web IP2Geo proposé par CDyne via le site xmethods, qui regroupe de manière quasi exhaustive les services Web librement accessibles. Ce service, à l'envoi d'une adresse IP existante, renvoie les informations qu'il peut trouver sur cette adresse. Notre exemple se focalisera simplement sur l'affichage de la ville liée à l'IP.

Partons d'un document Flash vide, dans lequel nous allons glisser divers composants Flash 2004 nécessaires au bon fonctionnement de notre exemple : WebServiceConnector, bien sûr, mais également TextInput, TextArea et Button. Les quatre occurrences seront nommées respectivement "ip2geo", "sourceip", "resultats" et "go". Pour mieux le retrouver en cas d'interface complexe, il est recommandé de glisser WebServiceConnector à l'extérieur de la scène.

Il faut commencer par spécifier les caractéristiques du service, ce qui se fait par le biais du fichier WSDL lié. La page de xmethods nous l'indique ici : http://ws.cdyne.com/ip2geo/ip2geo.asmx?wsdl . Copiez cette adresse, puis sélectionnez l'occurrence de WebServiceConnector (ip2geo), et ouvrez l'inspecteur de composants. Dans l'onglet Paramètres, collez l'URL du fichier WSDL dans le champ WSDLURL, et appuyez sur Envoi. Si votre ordinateur est connecté à internet, Flash ira alors chercher ce fichier WSDL et en extraira la substantifique moelle, dont les opérations disponibles, arguments attendus et éléments renvoyés. Vous pouvez le constater rapidement et déroulant le menu operation (juste en dessous de WSDLURL) : vous devriez y trouver la seule opération proposée par ce service : ResolveIP. Sélectionnez-le.

En cliquant sur l'onglet Schéma de l'inspecteur, vous découvrez les paramètres et résultats du service. Il prend deux chaînes : IPadress et LicenceKey. La première valeur sera donnée par le champ sourceip, la seconde doit être entrée en dur. En effet, le service n'est normalement accessible qu'à ceux disposant d'une clef, mais son éditeur spécifie qu'il est accessible pour test avec la clef "0" (on peut lire à cette adresse "Use a License Key of 0 for Testing"). Il nous faut alors indiquer cette valeur en dur dans Flash. Cliquez donc sur la ligne "LicenseKey: String", et dans les données qui s'affichent, trouvez l'entrée "default value" et mettez 0 dans le champ attaché.
Ce même onglet Schéma vous permet de voir toutes les informations récupérables depuis ce serveur, depuis la ville jusqu'à la zone horaire. Nous n'utiliserons que la ville, mais rien n'empêche de combiner toutes ces données.

Liaison des composants
Il nous faut, pour fonctionner, lier les composants graphiques (TextInput et TextArea) au composant de données (WebServiceConnector). Pour ce faire, toujours dans l'inspecteur de composants de ip2geo, sélectionnez l'onglet Liaisons, et cliquez sur l'icône +. Une fenêtre vous propose alors de choisir le champ que vous voulez lier. Choisissez "IPadress: String" et cliquez sur OK, la ligne "params.IPadress" apparaît. Juste en dessous, double-cliquez sur le champ de la ligne "bound to" (lié à). Une fenêtre s'ouvre sélectionnez le composant TextInput nommé "sourceip", validez.
Cliquez à nouveau sur +, et de la même manière, liez "City: String" au compostant TextArea "resultats".

Toutes les liaisons sont en place, il ne reste qu'à indiquer au bouton quelle action lancer lors d'un clic. Sélectionnez le bouton "go", et ouvrez le panneau Comportements. Cliquez sur + pour en ajouter un, spécifiquement "Déclencher une source de données", qui se trouve dans le sous-menu Données. Dans la fenêtre qui s'ouvre, sélectionnez "ip2geo", et validez.

  Forum

Réagissez dans les forums de JDN Développeurs

Il ne vous reste plus qu'à tester votre application de service Web. Vous pouvez commencer par tester avec votre propre adresse IP, que vous pouvez découvrir par exemple avec le site whatismyip.com . Libre à vous ensuite d'améliorer cette application, où de vous servir d'un tout autre service Web...
 
Xavier Borderie, JDN Développeurs
 
Accueil | Haut de page
 
 





Quand achetez-vous le plus en ligne ?
Du lundi au vendredi
Le samedi
Le dimanche

Tous les sondages