|
|
|
|
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... |
|
|
|
|
|
Quand achetez-vous le plus en ligne ? |
|
|
|
|
|
|
|
|