SOAP xml client à l'aide de Visual Studio 2010, c# - comment?
Je suis nouveau sur .NET monde, encore faut utiliser VStudio C# 2010 (.NET 4.0) pour produire un client qui demande des données à partir d'un web service SOAP Xml de la mode. J'ai cherché ici pour les réponses, mais n'ai pas compris encore plus. MSDN dit que "la Construction des Clients de Services Web XML" est un héritage .NET 4.0, c'est à dire WSDL est l'héritage. Utiliser "FMC" au lieu de cela, disent-ils.
Dans WCF je me suis perdu - trop et trop vague. Il doit être plus simple que...
Et tous les exemples que j'ai pu trouver sur le web, ils ont tous l'utilisation de WSDL, "l'héritage".
Voici les définitions du service, j'ai besoin de l'utiliser afin d'obtenir les données à partir 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>
Alors, qu'est-ce que le droit, ou au moins la plus logique de construire ce client simple? Quels sont les outils/bibliothèques/méthodologies proposeriez-vous pour débutant (en supposant que VS 2010, C#, .NET 4.0 environnement)?
- Pour info, c'est quoi "l'héritage" est la création de services web ASMX et en utilisant "Ajouter une Référence Web". Comme marc_s l'indique, vous devez utiliser la fonction "Ajouter une Référence de Service", qui devrait fonctionner parfaitement.
Vous devez vous connecter pour publier un commentaire.
Si vous avez un WSDL/XSD pour décrire ce service, ou si vous pouvez naviguer vers une URL à saisir les métadonnées, puis WCF avec
basicHttpBinding
serait probablement être votre meilleur pari. WSDL est certainement pas "héritage" - si quelque chose est de l'héritage, alors il est ASP.NET/ASMX webservices.Donné un WSDL/XSD ou une URL où vous pouvez vous connecter, il suffit de faire un
Add Service Reference
à partir de Visual Studio, et vous devriez être en place et en cours d'exécution en appelant votre service WCF en un rien de temps - faites-moi confiance! Vous ne pas besoin de connaître tout de la WCF juste à l'appel d'un simple service web SOAP.... aussi, avec WCF 4.0, beaucoup de choses - en particulier de la configuration ont été largement amélioré et simplifié.Comme pour resoures: il y a le MSDN Centre de développement de la WCF qui a tout de débutant tutoriels des articles et des exemples de code.
Aussi, découvrez le l'écran de fonte de la bibliothèque sur le site MSDN pour certains vraiment utile, à 10-15 minutes de blocs d'informations sur à peu près n'importe quel sujet lié à la WCF vous pourriez être intéressé par.