Aller au contenu Aller au menu Aller au sous menu Aller à la recherche

Ligams » Publications » Flash et Actionscript » Webservice AS3

Créer un webservice en Actionscript 3 (AS3)

Il était possible avec Actionscript 2 (AS2) de créer directement des webservices. Cela a été retiré pour une obscure raison en actionscript 3, même si nous allons voir qu'il est toujours possible de les utiliser moyennant l'import d'une plugin.

Quoi qu'il en soit, voici un exemple de webservice en Actionscript 3.

Webservice kezako ?

Si vous n'êtes pas sensible à la programmation orientée objet, cela ne vous dira probablement rien. Cela permet l'échange de données entre applications à distance entre plusieurs applications différentes. Cela permet de communiquer via le web, entre applications de différentes plates-formes. Ainsi, on peut faire communiquer C# (CSharp) avec Java, et même Actionscript.

D'un point de vue plus "développement", cela permet d'instancier des objets à distance, à partir d'une application qui n'est pas forcément codée dans le langage que l'on utilise. (Instanciation d'objets d'une application C# à partir d'une application Flash/Actionscript, par exemple).

Webservice de météo

Notre exemple ira chercher la météo sur un Webservice fourni gratuitement par Globalweather, (je déconseille toute utilisation professionnelle de celui-ci, c'est régulièrement faux). Nous allons proposer de retrouver la météo dans les principales villes de France. Pour réaliser un Webservice en AS3, nous allons avoir besoin d'utiliser un composant additionnel, téléchargeable gratuitement : Webservice AS3 ce projet est disponible sur GoogleCode (subversion) et est sous licence GNU/GPL .

Voici le résultat de notre WebService météo :

La source est en téléchargement gratuit à la fin de ce document. Notez que le serveur interrogé est fréquememnt en carafe, affichez le WebService dans une page web pour voir s'il est disponible : GlobalWeather. (Tellement souvent aux abonnés absents que j'ai modifié la source pour prévenir...enfin l'idée est là)

GlobalWeather : WebService météo, exemple en Actionscript

Source du WebService Météo

Tout d'abord il faut importer les bibliothèques puisque, je le rappelle, les webservices ne sont plus disponibles nativement en Actionscript 3 :

import be.wellconsidered.services.*;
import be.wellconsidered.services.events.*;

Au clic du bouton, on instancie l'objet WebService Actionscript, et on y attache les événements :

var oWebService:WebService = new WebService("http://www.webservicex.net/globalweather.asmx?wsdl");
var oOp:Operation = new Operation(oWebService);

oOp.addEventListener(OperationEvent.COMPLETE, this.SendResult);
oOp.addEventListener(OperationEvent.FAILED, this.SendFailed);

oOp.GetWeather(szVille, "France");

Il ne reste plus qu'à traiter les infos comme on le souhaite, ici le webservice renvoi une chaîne XML , nous la traitons donc comme telle (Voir un exemple de traitement de document XML en Actionscript).

public function SendResult(evt:OperationEvent):void
{
    var szResult:String = String(evt.data);
    this.monTextArea.text = szResult;
    var xml:XML = new XML(szResult);
    this.maLocalisation.text = xml.CurrentWeather.Location.toString();
}

Téléchargement de la Source FLA

Cette archive contient :

  • La source Flash .FLA,
  • La classe Actionscript liée avec le Webservice,
  • La bibliothèque Webservice AS3 wellconsidered (redistribuable sous licence GNU/GPL)
  • Le Flash compilé (SWF)

Articles connexes

Commentaires

Les commentaires sont tous validés par un modérateur, votre commentaire n'apparaît pas directement sur le site.
Aucun support n'est assuré ici, vous pouvez néanmoins laisser vos remarques et critiques sur l'article, les points de vue pertinents sont toujours les bienvenus.

Votez pour cet article

Vote: 4,75/5
(Nombre de votant(s) : 4)

Traduction automatique

Recherche

Ligams © 2009 tous droits réservés - Contact | Aide à la navigation | Plan du site | Glossaire | Infos légales | Accessibilité