TUTORIELS 
ASP.NET : construire un service Web
Quelques lignes suffisent avec la nouvelle version du langage de Microsoft et le fameux framework.  (9 janvier 2004)
 
Forums
* Discutez en sur les forums
Les nouveautés apportées par .NET dans le monde du développement Microsoft permettent de construire rapidement des applications fonctionnelles, simplement en passant par les briques offertes par le framework. Il en est de même pour les services Web : les construire en ASP "classique" pouvait se révéler long et douloureux, tandis que quelques lignes suffisent pour construire et consommer un service dès que l'on passe par ASP.NET, quel que soit le langage.

Première approche
A la différence d'une page ASP.NET classique (.aspx), un service Web ne contient (la plupart du temps) que le code nécessaire au renvoi de l'information réclamée par l'application qui le consomme. Ce code se limite à la classe associée au service, ainsi que d'au moins une directive, qui se chargera d'accomplir la tâche demandée.

Pour les différencier des pages dynamiques classiques, les services Web par ASP.NET présentent quelques autres spécificités :
- l'entête précise qu'il s'agit d'un service Web, là où en ASP on mentionne qu'il s'agit d'un Page :

<%@ WebService Language="vb" Class="MettreAJourBase" %>

- l'extension du fichier est .asmx
- Chaque directive est précédée d'un attribut WebMethod :

En C# : [WebMethod]
En VB.NET : <WebMethod>

Le reste tient du code habituel : appel d'assemblage(s), déclaration public...
A partir de là, l'écriture du service est rapide :

<%@ WebService language="c#" class="MaDate" %>

using System;
using System.Web.Services;
using Sytem.DateTime;

public class MaDate
  {
  [WebMethod]
  public string ObtenirDate()
    {
    return Now.ToString();
    }
  }

Toutes les fonctions sont ensuite possibles au sein de notre WebMethod : appel à la base de données, calculs...
Mais quid de l'implémentation du protocole SOAP, du renvoi en XML, du contrat WSDL ? Tout ceci est pris en compte par le CLR (le "coeur" de .NET) à partir du moment où vous lui indiquez qu'il a affaire à un Web Service, l'encapsulation SOAP tout comme l'intégration dans un message XML. Pour ce qui est de WSDL, il est disponible simplement en ajoutant l'appel à la fin de l'appel du fichier : http://localhost/MaDate.asmx?WSDL.

Nous compliquerons la chose et verrons comment consommer un service Web dans un prochain article ASP.NET.

 
[ Xavier BorderieJDNet
 
Accueil | Haut de page