Les Services Web Avec.NET version 1.1
Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP peut-être transporté par les protocoles HTTP, SMTP et MIME; Les messages sont construits avec len-tête du protocole qui transporte suivi du corps de la requête ou de la réponse; Le corps du message est enveloppé en XML. Chaque service possède une définition; Visual Studio.NET est bonifié pour lutilisation de services Web. Les mécanisme de communication sont masqués pour le développeur.
Requête SOAP sur HTTP POST /HelloService/Hello.asmx HTTP/1.1 Host: Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction:
Réponse SOAP sur HTTP HTTP/ OK Content-Type: text/xml; charset=utf-8 Content-Length: length Hello World
Description du service Web (WSDL) Avec.NET, la détection des objets seffectue automatiquement à laide de la description standardisé du service Web. Vous navez quà spécifier le url de la définition et le/les objets à distance sont référencés et il est possible de les instancier comme nimporte quels objets.
Dans la pratique! Création du service Web Hello (nécessite IIS 5.0 ou mieux); Consommation du service Web Hello par une application Windows;
Création du service Web Dans Fichiers/Nouveau/Projet…
Création du service Web Renommer Service1.asmx pour Hello.asmx et changer la définition de lobjet:
Création du service Web Implémenter les 2 méthodes de lobjet Hello et compiler:
Création du service Web Compiler et exécuter:
Consommer le service Web Dans Fichiers/Nouveau/Projet…
Consommer le service Web Ajouter la référence Web avec un clique de droit sur References:
Consommer le service Web Spécifier le url du service Web et ajouter la référence:
Consommer le service Web Créer linterface suivante:
Consommer le service Web Appeler les méthodes lors de lévénement onclick des boutons:
Résultats Say() SayWhat()
Conclusion.NET soccupe du transport pour le développeur;.NET 2.0 promet le support, entre autre, du protocole TCP/IP, éliminant la nécessité dun serveur Web pour consommer un objet; Beaucoup moins lourd que CORBA et plus rapide à implémenter; Consommation multi plateforme possible avec certaines précautions sur lutilisation des types retournés par les méthodes (retourner des objet ou des types complexes plutôt que des DataSets() propre à Microsoft par exemple).