Auteur: Jérôme Forget. Publié le 2 octobre 2006.
Un service Web est un ensemble de protocoles et de normes informatiques utilisés pour échanger des données entre les applications. L'objectif des services Web est de rendre accessible un service qui implémente une logique métier cachée à des utilisateurs. Les services Web sont généralement basés sur le protocole HTTP, ce qui rend accessible leur déploiement et leur utilisation pour tous les internautes et les applications Web.
Les services Web sont utiles lorsque les données ne sont disponibles que sur un serveur distant, par exemple parce qu'elles changent souvent et qu'on n'en maîtrise pas la source (données météo, données boursières, etc.). L'exemple que nous présentons ici permet la conversion de devises en ligne, en utilisant des données provenant d'un Web Service gratuit. Nous avons choisi un service de conversion de devises gratuit et fiable, disponible sur http://www.webservicex.net.
La méthode du service Web que nous utiliserons est ConversionRate. Elle accepte deux paramètres : FromCurrency, la devise de départ, et ToCurrency, la devise de la conversion. Les deux paramètres sont de type String.
Flash 8 contient un composant nommé WebServiceConnector qui permet d'appeler les méthodes d'un service Web, avec un minimum d'ActionScript. Toutes les fonctionnalités de ce composant étant encapsulées, il est très facile de les utiliser en réglant seulement quelques paramètres.
Pour utiliser le composant WebServiceConnector, il suffit de placer une instance du composant dans la bibliothèque. Nous l'utiliserons ensuite avec les quelques lignes ActionScript suivantes, afin d'obtenir le taux de change entre le dollar canadien (CAD) et le dollar américain (USD) :
// Object d'écoute qui affiche le résultat du service Web
var res:Function = function (evt:Object) {
trace(evt.target.results);
};
// On crée une instance de WebServiceConnector et règle les propriétés
var wsConn:WebServiceConnector = new WebServiceConnector();
wsConn.addEventListener("result", res);
wsConn.WSDLURL = "http://www.webservicex.net/CurrencyConvertor.asmx?WSDL";
wsConn.operation = "ConversionRate";
wsConn.params = ["CAD", "USD"];
wsConn.suppressInvalidCalls = true;
// La méthode trigger() permet d'envoyer la requête au service Web
wsConn.trigger();