Avant de démarrer ce tutorial, voyons un peu comment définir un service Web
“Un service web est un programme informatique permettant la communication et l’échange de données entre applications et systèmes hétérogènes dans des environnements distribués. Il s’agit donc d’un ensemble de fonctionnalités exposées sur internet ou sur un intranet, par et pour des applications ou machines, sans intervention humaine, et en temps réel.” (Wikipédia)
Dans ce tutorial, nous allons, dans un premier temps, créer un WebService qui va effectuer une simple multiplication de deux entiers.
Après avoir crée notre WebService, nous mettrons en place un site Web qui consommera ce service de citation. (Cette partie fera l’objet d’un second tutorial).
Ah oui d’ailleurs ! Lorsque l’on parle d’application qui “utilise” un WebService ont dit le plus souvent qu’elle “consomme” un service. Je ne suis pas un grand fan de cette expression mais les experts utilise ce terme alors je vais m’y conformer !
Créer et tester votre service Web
Nous utiliseront pour ce tutorial Visual Studio 2008. Toutefois, vous pouvez utilise Visual Web Developper (Gratuit). La procédure étant la même.
Sous Visual, créez un nouveau Projet Web de type Service Web ASP.NET.
Visual vous génère alors un Service Web totalement fonctionnel (Proxy, Classe, …) avec une première méthode très utile …qui vous renvoi “Hello World”.
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
[
WebService(Namespace = "http://tempuri.org/")][WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// Pour autoriser l’appel de ce service Web depuis un script à l’aide d’ASP.NET AJAX, supprimez les marques de commentaire de la ligne suivante.
// [System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
public Service () {
//Supprimez les marques de commentaire dans la ligne suivante si vous utilisez des composants con?us
//InitializeComponent();
}
[
WebMethod]public string HelloWorld() {
return "Hello World";
}
}
Plusieurs remarques sont à faire sur ce code :
- Notre classe dérive de l’assembly System.Web.Services.Webservice.
- Notre classe dispose d’un constructeur (Service()) qui sera appelé lorsqu’une application tente de consommer notre service.
- La méthode HelloWorld est précédé de la propriété [WebMethod]. Cela signifie que la méthode sera exposé et donc utilisable de l’extérieur.
Essayez de compiler et d’exécuter ce WebService, vous devriez obtenir ceci
On peut voir qu’une seule méthode est exposée dans notre WebService (HelloWorld).
Essayons maintenant de créer une méthode un peu plus utile qu’un simple Hello World et voyons comment nous pouvons la tester directement en ligne.
public int multiplication(int a, int b)
{
return a * b;
}
Cette nouvelle méthode est précédé du mot clé WebMethod qui permet de la rendre visible depuis l’extérieur. Notre méthode est très simple et permet de renvoyer le résultat de la multiplication de deux entiers passé en paramètre. (L’intérêt de cette méthode est, je le conçois, véritablement discutable …).
Recompilez et exécuter le WebService. Cliquez ensuite sur la méthode multiplication.
Si vous utiliser le serveur local mis en place par Visual Studio, vous devriez obtenir l’écran suivant :
Problème : Nous ne pouvons pas tester notre méthode ! Le WebService nous dit que le formulaire permettant de tester la méthode est uniquement disponible pour les demandes provenant de l’ordinateur local. La solution est tout simple : Il faut déclarer notre WebService dans IIS ! Ainsi, les requêtes seront bien effectués sur l’ordinateur local.
Configurer le WebService dans IIS
Si vous êtes un fidèle lecteur de ce blog, vous devez savoir comment configurer une application dans IIS, sinon, voici quelques explications.
- Ouvrez IIS (Ici v6.0).
- Dans la fenêtre de gauche, cliquez droit sur l’élément “Default Web Site”. Cela correspond au site par défaut défini par IIS. Vous pouvez toutefois ajouter un nouveau site dans lequel vous installez votre application.
- Remplissez le formulaire en mettant un alias à votre site (Qui peut être différent du nom de dossier physique ou votre site se trouve).
- Indiquez à IIS ou se trouve physiquement le site et cliquez sur OK
Maintenant, je peux accéder à mon WebSite directement depuis l’url : http://localhost/TestWebService/Service.asmx
Nous pouvons désormais tester nos méthodes.
L’exemple ci dessous et un test de la méthode multiplication. Le WebService à détecté qu’il faut deux paramètres pour appeler le service.
Si l’on clic sur appeler, nous allons interroger le WebService qui va nous renvoyer la multiplication de ces deux entiers.
Parfait ! Notre WebService fonctionne !


Salut! je découvre un peu le développement et j’ai besoin d’apprendre un peu pour plus tard mettre en place un service web pour un centre d’appel que je mets en place..je teste ce que tu écris pour débuter mais bon, j’ai déja une erreur de compilation sous visual express 2010 qui m’empeche de tester cette méthode simple..d’où peut venir l’erreur??