Consommer un service SOAP avec .NET Core 6
Introduction
.NET Core 6 offre une excellente prise en charge pour la consommation de services SOAP. Cette fonctionnalité est particulièrement utile pour interagir avec des systèmes hérités qui utilisent encore largement ce protocole. Dans cet article, nous allons explorer les étapes nécessaires pour consommer un service SOAP à l'aide de .NET Core 6.
Prérequis
Avant de commencer, assurez-vous d'avoir les éléments suivants :
- .NET 6 SDK : Téléchargez et installez le SDK .NET 6 depuis le site officiel.
- Visual Studio Code ou Visual Studio : Un éditeur de code ou un IDE est nécessaire pour créer et gérer votre projet .NET Core.
- Définition WSDL du service SOAP : Vous aurez besoin du fichier WSDL (Web Services Description Language) du service SOAP que vous souhaitez consommer. Ce fichier contient la description des opérations, des types de données et des paramètres du service.
Consommer un service SOAP avec .NET Core 6
Voici les étapes principales pour consommer un service SOAP avec .NET Core 6 :
-
Créer un nouveau projet .NET Core
Utilisez la commande suivante dans votre console pour créer un nouveau projet .NET Core :
dotnet new console -o MySoapConsumer
Remplacez
MySoapConsumer
par le nom souhaité pour votre projet. -
Installer le package NuGet
System.ServiceModel.Primitives
Ce package est requis pour l'interaction avec les services SOAP. Utilisez la commande suivante dans votre console pour installer le package :
dotnet add package System.ServiceModel.Primitives
-
Créer un fichier de configuration
Créez un fichier nommé
appsettings.json
à la racine de votre projet. Ajoutez les informations de configuration suivantes :{ "SoapService": { "Url": "https://www.example.com/WebService.asmx", "UserName": "your_username", "Password": "your_password" } }
Remplacez les valeurs par les informations d'authentification et l'URL de votre service SOAP.
-
Générer des classes proxy
Utilisez l'outil
svcutil
(Service Utility) pour générer des classes proxy à partir du fichier WSDL. Exécutez la commande suivante dans votre console :svcutil /language:csharp /out:MySoapClient.cs https://www.example.com/WebService.asmx?WSDL
Remplacez
MySoapClient.cs
par le nom souhaité pour votre fichier proxy. -
Utiliser les classes proxy
Dans votre code, utilisez les classes proxy générées pour interagir avec le service SOAP. Voici un exemple :
using System.ServiceModel; using MySoapClient; // Nom du fichier proxy généré public class Program { public static void Main(string[] args) { // Charger les paramètres de configuration var config = new ConfigurationBuilder() .AddJsonFile("appsettings.json") .Build(); var soapServiceUrl = config.GetValue
("SoapService:Url"); var username = config.GetValue ("SoapService:UserName"); var password = config.GetValue ("SoapService:Password"); // Créer un client SOAP var client = new MySoapClient(new BasicHttpBinding(), new EndpointAddress(soapServiceUrl)); // Authentification client.ClientCredentials.UserName.UserName = username; client.ClientCredentials.UserName.Password = password; // Appeler une opération du service SOAP var result = client.MySoapMethod("param1", "param2"); // Afficher le résultat Console.WriteLine($"Result: {result}"); } }
Conclusion
Consommer un service SOAP avec .NET Core 6 est un processus relativement simple. En utilisant les outils et les fonctionnalités fournis par le framework, vous pouvez facilement interagir avec des systèmes hérités et exploiter les données et les services qu'ils offrent.
Mots clés: .NET Core 6, SOAP, service SOAP, consommation, service Web