2009-06-29 5 views
7

J'ai un service Web sur un hôte distant que j'ai besoin d'invoquer à partir de la classe ASP.NET/C#. Quelle est la manière la plus simple d'appeler une méthode via SOAP, avec l'URL WSDL et une signature de méthode?Le moyen le plus simple d'invoquer un service Web via SOAP sur ASP.NET

Étant donné: URL WSDL sous forme de chaîne (disponible uniquement lors de l'exécution, à savoir variable) signature de la méthode (constante)

nécessité: créer un client de savon et d'effectuer l'appel de méthode.

Répondre

4

Voir ici: http://msdn.microsoft.com/en-us/library/d9w023sx.aspx

Il est très facile en studio visuel - vous suffit d'ajouter l'URL de référence web et génère le talon de proxy pour vous.

+2

-1: Ne passez pas à "Ajouter une référence Web" jusqu'à ce qu'il dise qu'il est bloqué à .NET 2.0 et ne peut pas utiliser WCF. Sinon, vous pourriez le condamner à vivre dans le passé sans raison valable. –

+1

La question mentionnée "simple". De plus - en utilisant WCF est extrêmement similaire - vous utilisez simplement "Ajouter une référence de service" au lieu d'ajouter "Web Reference". Un bon aperçu est ici: http://blog.mstern.at/index.php?/archives/64-Creating-a-WCF-web-service-in-C-using-Visual-Studio-2008.html – rifferte

+0

bon article - merci! Bien, et si I WSDL est seulement disponible à l'exécution? –

6

La chose la plus simple à faire est d'utiliser simplement "Ajouter une référence de service" et de pointer vers le WSDL. Il va générer les classes proxy pour vous, y compris une méthode proxy qui doit correspondre à la signature de la méthode que vous avez reçu.

Voyez si vous trouvez How to Consume a Web Service utile.

Questions connexes