Generando una clase intermedia a través de wsdl.exe para conectarnos a un servicio web .asmx

Como bien sabemos, la forma más sencilla para agregar y posteriormente consumir un servicio web, es a través del menú contextual de Visual Studio:

Screen Shot 03-22-16 at 11.00 AM

Sin embargo, existen otras formas de consumir un servicio web de manera sencilla y transparente. Una de ellas puede ayudarnos además, para analizar, estudiar y aprender del código generado. Esta forma es a través de la herramienta wsdl.exe, que se encuentra en la siguiente ruta:

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools

Debemos navegar a través de una consola de comandos a la dirección antes especificada, y utilizar algunas de las opciones disponibles. La simbología para utilizar la herramienta, es:

wsdl.exe <opciones> <dirección_url o ruta_de_acceso> …

Si deseamos ver las opciones disponibles, bastará con escribir simplemente wsdl.exe:

Screen Shot 03-22-16 at 11.07 AM

Vamos a utilizar el servicio “Weight Unit Convertor”, disponible en la página http://webservicex.net/, para generar la clase correspondiente. Lo primero que debemos hacer, es navegar al servicio web, donde nos será mostrado el Endpoint:

Screen Shot 03-22-16 at 11.10 AM

Dicho Endpoint, será el que utilizaremos para generar nuestra clase, debiendo colocarlo de la siguiente forma en la consola de comandos:

wsdl http://www.webservicex.net/ConvertWeight.asmx?WSDL

Lo que nos generará una clase en el directorio mismo de la herramienta:

Screen Shot 03-22-16 at 11.15 AM

Podemos agregar la clase generada a un proyecto desde Visual Studio, donde nos mostrará algunos errores si no hemos agregado la biblioteca System.Web.Services, por lo que es necesario que se encuentre dentro del proyecto donde utilizaremos el servicio web.

Screen Shot 03-22-16 at 11.17 AM

Con esto, podremos utilizar la clase generada como cualquier otra:

Screen Shot 03-22-16 at 11.23 AM 001

Además de que funcionará de manera correcta:

Screen Shot 03-22-16 at 11.23 AM

¡Saludos!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s