Conviértete en un Máster de C# y .NET
Antes de continuar, te invito a que te suscribas a mi academia de entrenamiento para desarrolladores .NET, en la que vas a aprender sobre C#, Blazor, Xamarin, .NET MAUI, ASP.NET, entre muchos otros temas por un mínimo precio.
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:
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> <direccion_url o ruta_de_acceso> …
Si deseamos ver las opciones disponibles, bastará con escribir simplemente wsdl.exe:
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:
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:
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.
Con esto, podremos utilizar la clase generada como cualquier otra:
Además de que funcionará de manera correcta:
¡Saludos!