Exercices TP Services Web Analyse WSDL Length Distance Unit Convertor Web Services
Télécharger PDFComprendre la Description WSDL des Services Web
La description WSDL (Web Services Description Language) est un document XML qui sert d'interface publique pour un service Web. Elle spécifie comment interagir avec le service, quelles opérations il offre, et comment les données doivent être structurées pour les échanges. Examiner un fichier WSDL est une étape fondamentale pour tout développeur ou architecte souhaitant consommer ou intégrer un service Web.
Activité 1 : Examen d'un Service de Conversion d'Unités de Longueur
Analysons la description WSDL d'un service de conversion d'unités de longueur. Ce service permet de convertir une valeur de longueur d'une unité à une autre.
Service et Opérations
- Nom du service : Le service principal est nommé
lengthUnit. - Opération disponible : L'opération unique proposée par ce service est
ChangeLengthUnit. Cette opération est conçue pour modifier l'unité d'une mesure de longueur.
Paramètres de l'Opération ChangeLengthUnit
L'opération ChangeLengthUnit requiert les informations suivantes en entrée :
LengthValue: La valeur numérique de la longueur à convertir (de type double).fromLengthUnit: L'unité de longueur d'origine (par exemple, "Meters", "Feet", "Miles").toLengthUnit: L'unité de longueur vers laquelle la conversion doit être effectuée.
Les unités de longueur supportées incluent un large éventail, telles que Angstroms, Nanometers, Microinch, Microns, Mils, Millimeters, Centimeters, Inches, Links, Spans, Feet, Cubits, Varas, Yards, Meters, Fathoms, Rods, Chains, Furlongs, Cablelengths, Kilometers, Miles, Nauticalmile, et League.
Sortie de l'Opération ChangeLengthUnit
Après l'exécution de l'opération, le service renvoie :
ChangeLengthUnitResult: La valeur convertie de la longueur (de type double).
Protocoles Supportés
Cette description WSDL indique que le service supporte plusieurs protocoles pour l'interaction :
- SOAP sur HTTP : Il existe des liaisons pour SOAP 1.1 (
lengthUnitSoap) et SOAP 1.2 (lengthUnitSoap12), toutes deux utilisant HTTP comme protocole de transport. - HTTP GET : Une liaison (
lengthUnitHttpGet) permet d'appeler le service via des requêtes HTTP GET. - HTTP POST : Une liaison (
lengthUnitHttpPost) est également définie pour les requêtes HTTP POST.
Activité 2 : Examen d'un Service de Géolocalisation
Considérons un service Web de géolocalisation qui fournit des coordonnées géographiques (latitude, longitude) à partir d'une adresse IP. L'examen de son WSDL est essentiel pour comprendre son fonctionnement.
Nom de la Méthode
Le service de géolocalisation propose une méthode unique appelée FraudLabs.
Entrées et Sorties de la Méthode
La méthode FraudLabs interagit avec deux messages principaux :
- Entrée : Le message d'entrée est
FraudLabsRequest, contenant une partie nomméeinputdatade type complexeFraudLabsInput. - Sortie : Le message de sortie est
FraudLabsResponse, contenant une partie nomméereturnde type complexeFraudLabsOutput.
Paramètres d'Entrée (FraudLabsInput)
Pour appeler la méthode FraudLabs, les paramètres suivants peuvent être fournis en entrée, tous de type chaîne de caractères (xsd:string) :
IP: L'adresse IP à géolocaliser.CITY: La ville.REGION: La région.POSTAL: Le code postal.COUNTRY: Le pays.DOMAIN: Le domaine.PHONE: Le numéro de téléphone.BIN: Le numéro d'identification bancaire.BINNAME: Le nom de la banque associé au BIN.BINPHONE: Le numéro de téléphone de la banque.LICENSE: La clé de licence (pour l'accès au service).SHIPADDR: L'adresse de livraison.SHIPCITY: La ville de livraison.SHIPREGION: La région de livraison.SHIPPOSTAL: Le code postal de livraison.SHIPCOUNTRY: Le pays de livraison.QUERYID: Un identifiant unique pour la requête.
Champs de la Sortie (FraudLabsOutput)
La méthode FraudLabs renvoie plusieurs champs en sortie, tous de type chaîne de caractères (xsd:string), fournissant des informations détaillées sur la géolocalisation et d'autres données associées :
COUNTRYMATCH: Correspondance de pays.COUNTRY: Pays détecté.HIGHRISKCOUNTRY: Indication si le pays est à haut risque.DISTANCE: Distance.IP2COUNTRY: Pays associé à l'IP.IP2REGION: Région associée à l'IP.IP2CITY: Ville associée à l'IP.IP2LATITUDE: Latitude associée à l'IP.IP2LONGITUDE: Longitude associée à l'IP.IP2ISP: FAI (Fournisseur d'Accès Internet) associé à l'IP.ANONYMOUSPROXY: Indication de proxy anonyme.FREEMAIL: Indication d'adresse e-mail gratuite.BINCOUNTRYMATCH: Correspondance du pays du BIN.BINNAMEMATCH: Correspondance du nom du BIN.BINPHONEMATCH: Correspondance du téléphone du BIN.BINCOUNTRY: Pays du BIN.BINBANKNAME: Nom de la banque du BIN.BINBANKPHONE: Téléphone de la banque du BIN.POSTALCITYMATCH: Correspondance code postal/ville.PHONECITYMATCH: Correspondance téléphone/ville.SHIPFORWARD: Indication d'expédition par transitaire.CREDITSAVAILABLE: Crédits restants pour l'utilisateur.FRAUDSCORE: Score de fraude.QUERYID: Identifiant de la requête.MESSAGE: Message d'information ou d'erreur.
Activité 3 : Appel d'un Service Web via HTTP GET
Les services Web supportant le protocole HTTP GET peuvent être appelés directement depuis un navigateur Web ou tout client HTTP. La structure de l'URL pour un tel appel suit un format standard :
http://[adresse_du_service]/[nom_operation]?[nom_paramètre1]=[valeur_parametre1]&[nom_paramètre2]=[valeur_parametre2]
Par exemple, si un service de conversion d'unités de température offre une opération ConvertCelsiusToFahrenheit avec un paramètre celsiusValue, l'appel pourrait ressembler à :
http://exemple.com/tempconvert/ConvertCelsiusToFahrenheit?celsiusValue=25
En entrant cette URL dans un navigateur, le service est exécuté et le résultat est affiché directement dans la fenêtre du navigateur.
Activité 4 : Définition de Services Web Personnalisés avec WSDL
Il est courant de devoir créer ses propres services Web pour répondre à des besoins spécifiques. La première étape consiste à définir leur interface via un fichier WSDL. Par exemple, pour un service proposant des opérations arithmétiques comme l'addition et la soustraction de deux entiers, le WSDL décrirait :
- Un service nommé "CalculatriceService".
- Des opérations comme "Additionner" et "Soustraire".
- Chaque opération prendrait deux paramètres d'entrée, par exemple "nombre1" et "nombre2", tous deux de type entier.
- Chaque opération renverrait un résultat de type entier.
Cette approche permet une communication structurée et interopérable entre différentes applications.
FAQ sur les Services Web et WSDL
Qu'est-ce qu'un WSDL ?
WSDL (Web Services Description Language) est un langage de description de services web basé sur XML. Il définit l'interface d'un service web, spécifiant les opérations qu'il propose, les messages échangés, les types de données utilisés et les protocoles de communication supportés.
Quelle est la différence entre SOAP et HTTP GET dans le contexte WSDL ?
SOAP (Simple Object Access Protocol) est un protocole d'échange d'informations structurées, généralement sur HTTP, utilisant des messages XML complexes. HTTP GET est une méthode plus simple pour récupérer des informations via l'URL, souvent utilisée pour des requêtes stateless ne modifiant pas l'état du serveur et n'impliquant pas de messages XML complexes dans le corps de la requête.
Pourquoi les services web utilisent-ils différentes liaisons (bindings) dans leur WSDL ?
Les différentes liaisons dans un WSDL (par exemple, SOAP, HTTP GET, HTTP POST) permettent aux services web d'être accessibles via divers protocoles de communication. Cela offre une flexibilité aux clients qui peuvent choisir le protocole le plus adapté à leurs besoins ou à leur environnement technique pour interagir avec le service.