«

»

juil 26 2015

Créer un Web services SOAP avec C#.Net

A travers cet article, je vais vous présenter comment développer un WebService SOAP en C#.Net, ensuite dans d’autres articles je vais vous montrer comment consommer ce WS en C#.Net, PHP, Java, Windev et en Android.
Cependant, avant d’entrer dans le vif du sujet, je voudrais d’abord expliquer en quelques mots c’est quoi un WebService et c’est quoi SOAP.

  • Définition d’un Web Service

Un webservice c’est un programme informatique installé dans un serveur d’applications web qui permet de proposer une ou plusieurs fonctionnalités qui seront invoquées par un ou plusieurs consommateurs (clients).
Il s’agit d’une architecture orientée service permettant à des applications d’échanger directement entre elles sans se préoccuper des langages et des plates-formes sur lesquelles elles sont implémenté.

Les principaux avantages sont les suivants:

  1. Utilisation du protocole HTTP, la plupart des parefeux laissent passer les requêtes HTTP
  2. Intéropérabilité et l’indépendance vis-à-vis des langages et des plates-formes
  3. Protocoles d’échanges Standard et Ouvert (XML, HTTP, RPC)
  4. L’extensibilité
  • Définition SOAP

SOAP c’est l’acronyme de Service Oriented Architecture Protocol, c’est un protocole d’échange de données en XML et HTTP, il s’agit d’un  protocole d’échange de messages (requêtes) qui définit un ensemble de règles de codage XML.

Passons maintenant au développement du Web Services avec Visual Studio (Ma version c’est visual studio 2010 ultimate):

  1. Lancez un nouveau projet (File > New > Project…)
  2. Choisissez les options (Les différences options sont indiquées dans l’image suivante), puis validez par OK

WebService

Félicitation !, c’est bon votre Web Services presque prêt, il ne reste que quelques optimisations, le but c’est de rendre ce Web Services compatible avec les différentes API disponibles pour pouvoir développez des clients très rapidement, pour cela j’ai ajouté l’attribut [SoapRpcService] pour forcer le style RPC, j’ai également ajouté l’attribut [SoapRpcMethod()] pour la méthode HelloUser, ensuite j’ai basculé le [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1) vers [WebServiceBinding(ConformsTo = WsiProfiles.None)]

WebService_config

Avec ces petites modifications, notre Web Services est prêt, nous passons maintenant au déploiement sous IIS.
Ouvrez le menu contextuel du projet et choisissez propriétés, cliquez ensuite sur l’anglet Web, finissez par un clic sur le bouton Create Virtual Directory

WebService_install

Maintenant pensez a testez le Web Services via le navigateur dans un 1er temps, tapez le lien suivant dans votre navigateur http://localhost/DemoWebServices/DemoWebServices.asmx

WebService_Demo

Les sources sont disponible : DemoWebServices

La partie client (php, c#, java, WinDev et android) sera présentée dans des futurs articles

Si vous avez des questions, n’hésitez pas, laissez vos commentaires …

A propos de l'auteur

Tawfik

Je suis un test lead automation, consultant et formateur possédant plus de 10 ans d’expérience dans le domaine des
technologies de l’information, développement, tests logiciels, formations professionnelles et plus particulièrement dans l’automatisation de tests en environnement Agile/ ATDD/BDD.