les services web avec.net version 1.1. un service web en bref… méthodes ou objets accessible à...

Post on 03-Apr-2015

112 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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 l’en-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 l’utilisation 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.1Host: 192.168.1.2Content-Type: text/xml; charset=utf-8Content-Length: lengthSOAPAction: http://tempuri.org/Say

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

<soap:Body> <Say xmlns="http://tempuri.org/" /> </soap:Body></soap:Envelope>

Réponse SOAP sur HTTP

HTTP/1.1 200 OKContent-Type: text/xml; charset=utf-8Content-Length: length

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

<soap:Body> <SayResponse xmlns="http://tempuri.org/"> <SayResult>Hello World</SayResult> </SayResponse> </soap:Body></soap:Envelope>

Description du service Web (WSDL)

Avec .NET, la détection des objets s’effectue automatiquement à l’aide de la description standardisé du service Web.

Vous n’avez 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 n’importe 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 l’objet:

Création du service Web

Implémenter les 2 méthodes de l’objet 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 l’interface suivante:

Consommer le service Web

Appeler les méthodes lors de l’événement onclick des boutons:

Résultats

Say()

SayWhat()

Conclusion

.NET s’occupe du transport pour le développeur; .NET 2.0 promet le support, entre autre, du protocole

TCP/IP, éliminant la nécessité d’un 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 l’utilisation des types retournés par les méthodes (retourner des objet ou des types complexes plutôt que des DataSets() propre à Microsoft par exemple).

top related