Je suis nouveau dans le monde .NET, mais je dois utiliser VStudio C# 2010 (.NET 4.0) pour produire un client qui demande des données à partir d'un service Web en mode SOAP Xml. J'ai cherché ici des réponses mais j'ai été encore plus confus. MSDN indique que "Création de clients de service Web XML" est hérité pour .NET 4.0, c'est-à-dire que WSDL est hérité. Utilisez "WCF" à la place, disent-ils. En WCF, je me suis perdu - trop et trop vague. Il doit être plus simple que cela ... Et tous les exemples que j'ai pu trouver sur le web - ils utilisent tous WSDL, "l'héritage".SOAP client xml - en utilisant Visual Studio 2010 C# - comment?
Voici les définitions du service que je dois utiliser pour obtenir les données du service Web:
demande:
POST /catalog.asmx HTTP/1.1
Host: www.somewebsite.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "https://www.somewebsite.com/KeywordSearch"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<KeywordSearch xmlns="https://www.somewebsite.com/">
<searchTerm>string</searchTerm>
<resultsReturned>int</resultsReturned>
</KeywordSearch>
</soap:Body>
</soap:Envelope>
Réponse:
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
...some stuff...
</soap:Body>
</soap:Envelope>
Ainsi, quel est le bon, ou au moins la façon la plus logique de construire ce client simple? Quels outils/bibliothèques/méthodologies suggérez-vous aux débutants (en supposant VS 2010 C#, environnement .NET 4.0)?
Pour votre information, ce qui est « héritage » est la création de services Web ASMX et en utilisant "Ajouter une référence Web". Comme le suggère marc_s, vous devriez utiliser "Add Service Reference", qui devrait fonctionner correctement. –