Notions de base des services Web XML ASP.NET

Cette rubrique est spécifique à une technologie existante. Les services Web XML et les clients du service Web XML doivent à présent être créés à l'aide de Windows Communication Foundation.

Étant donné qu'ASP.NET fournit l'infrastructure pour les mécanismes internes d'un service Web, les développeurs peuvent se concentrer sur l'implémentation des fonctionnalités de leur service Web spécifique. L'activation d'un service Web à l'aide d'ASP.NET implique la création d'un fichier avec une extension .asmx, la déclaration d'un service Web dans ce fichier et peut-être un autre fichier et la définition de méthodes de service Web. Les procédures sont répertoriées et détaillées dans Procédure pas à pas : création d'un service Web XML de base à l'aide d'ASP.NET.

Déclaration de services Web

Lorsque vous créez un service Web dans ASP.NET, vous placez la directive @ WebService requise en haut d'un fichier texte avec une extension .asmx. La présence du fichier .asmx et de la directive @ WebService corrèle l'adresse URL du service Web avec son implémentation. Vous implémentez également la classe de service Web qui définit les méthodes et types de données visibles par les clients de service Web.

La classe de service Web que vous définissez peut être incluse directement dans le fichier .asmx ou dans un fichier séparé. Si vous utilisez un fichier séparé, il doit être compilé dans un assembly. Vous pouvez éventuellement appliquer un attribut WebService à la classe qui implémente le service Web. La classe qui implémente le service Web peut dériver de la classe WebService.

En appliquant l'attribut WebService facultatif à une classe qui implémente un service Web, vous pouvez définir l'espace de noms XML par défaut pour le service Web avec une chaîne pour décrire le service Web. Il est fortement recommandé que cet espace de noms par défaut, à l'origine http://tempuri.org, soit modifié avant le lancement public du service Web. Ceci est important parce que le service Web doit être distingué d'autres services Web qui peuvent utiliser par inadvertance l'espace de noms par défaut (<http://tempuri.org/>).

Les classes qui implémentent un service Web créé à l'aide d'ASP.NET peuvent éventuellement dériver de la classe WebService pour accéder aux objets ASP.NET communs, tels que Application, Session, Useret Context. Les propriétés Application et Session permettent de stocker et de recevoir l'état pendant la durée de vie de l'application Web ou une session particulière. Pour plus d'informations sur la gestion d'état, consultez Comment : gérer l'état dans les services Web créés à l'aide d'ASP.NET. La propriété User contient l'identité de l'appelant, si l'authentification est activée, pour le service Web. Avec l'identité, un service Web peut déterminer si la demande est autorisée. Pour plus d'informations sur l'authentification, consultez Sécurisation des services Web XML. La propriété Context donne accès à toutes les informations spécifiques à HTTP concernant la demande du client de service Web. Pour plus d'informations sur la propriété Context, consultez Propriété WebService.Context.

Définition de méthodes de service Web

Les méthodes d'une classe qui implémentent un service Web n'ont pas automatiquement la capacité de recevoir des demandes de service Web et de renvoyer des réponses, mais grâce aux services Web créés à l'aide d'ASP.NET, cette fonction est très facile à ajouter. Appliquez un attribut WebMethod aux méthodes publiques. Les méthodes d'une classe de service Web qui peuvent communiquer sur le Web sont appelées des méthodes de service Web.

Les méthodes de service Web sont un composant clé de l'infrastructure de messagerie employée par les services Web. Autrement dit, un client et un service Web communiquent à l'aide de messages, plus précisément de messages SOAP, par défaut. Les clients envoient une demande SOAP à un service Web et une méthode de service Web retourne en général une réponse SOAP. Les services Web définissent le type de message qu'ils acceptent à l'aide d'opérations, comme défini par le WSDL (Web Services Description Language). Ces opérations correspondent à chacune des méthodes de service Web d'un service Web. Bien que chacune de ces méthodes de service Web soit définie dans ASP.NET à l'aide de la méthode d'une classe, il est important de comprendre que les données finalement communiquées sur le réseau doivent être sérialisées en XML. Il est donc important de noter que les services Web ne remplacent pas DCOM, ils sont plutôt une infrastructure de messagerie pour communiquer entre plateformes via les normes de l'industrie.

Voir aussi

Tâches

Procédure pas à pas : création d'un service Web XML de base à l'aide d'ASP.NET

Référence

WebService Class
WebServiceAttribute Class
WebMethodAttribute Class

Autres ressources

Services Web XML utilisant ASP.NET