2009-06-29 24 views
7

Tengo un servicio web en un host remoto que necesito invocar desde la clase ASP.NET/C#. ¿Cuál es la forma más simple de llamar a un método a través de SOAP, dado el URL de WSDL y una firma de método?Forma más sencilla de invocar un servicio web a través de SOAP en ASP.NET

dado: url WSDL como cadena (disponible sólo en tiempo de ejecución, es decir, variable) firma del método (constante)

necesidad de: crear un cliente de jabón y realizar llamada al método.

Respuesta

4

Ver aquí: http://msdn.microsoft.com/en-us/library/d9w023sx.aspx

Es muy fácil en Visual Studio - sólo tiene que añadir la URL de referencia web y genera el código auxiliar de proxy para usted.

+2

-1: No salte a "Agregar referencia web" hasta que diga que está atrapado en .NET 2.0 y no puede usar WCF. De lo contrario, puede que lo condenen a vivir en el pasado sin una buena razón. –

+1

La pregunta mencionó "simple". Esa es la forma más simple :) Además, el uso de WCF es extremadamente similar, solo debe usar "Agregar referencia de servicio" en lugar de agregar "Referencia web". Una buena descripción está aquí: http://blog.mstern.at/index.php?/archives/64-Creating-a-WCF-web-service-in-C-using-Visual-Studio-2008.html – rifferte

+0

buen artículo - ¡gracias! Sin embargo, ¿qué sucede si WSDL está disponible solo en tiempo de ejecución? –

6

Lo más simple es usar "Agregar referencia de servicio" y señalar el WSDL. Generará las clases de proxy para usted, incluido un método proxy que debe coincidir con la firma del método que se le ha otorgado.

Vea si encuentra How to Consume a Web Service para ser útil.

Cuestiones relacionadas