Consumir Web Service asmx C# ASP.Net
Los web service de asmx creados en .Net se pueden consumir desde una aplicación web ASP Webform o MVC con C# u otro lenguaje.
Como saben un Web Service permite que las aplicaciones se conecten a el para realizar operaciones sin depender del lenguaje de programación.
Este tipo de servicios es muy utilizado por las aplicaciones web y móviles para el intercambio de información.
Configurar Web Service asmx
Partiremos creando o abriendo una aplicación web con lenguaje c# como bankend, además de que ya contamos un la url de la web service que consumiremos.
Hacemos clic derecho sobre el proyecto, expandimos agregar y seleccionamos Service Reference.
Inmediatamente veremos una ventana que solicita la dirección url de la web service, debemos de agregarla y dar clic en Go.
En la misma ventana vemos todos los servicios disponibles, seleccionamos el elemento sin desplegar.
Agregamos un nombre al servicio de referencia y por último aceptamos. Se crea una carpeta con el servicio en los archivos del proyecto.
Además de los archivos nuevos, en la Web.Config se agregan varias líneas de código con los datos de la web Service.
En caso de que se creen más líneas de código de las que se ven en la imagen, hay que eliminarlas para que queden únicamente como el ejemplo.
Podría interesarte Crear App Service en Microsoft Azure
Consumir servicio con C#
Por último, debemos de utilizar los métodos que el servicio tiene disponibles, para eso utilizaremos C# en el servidor.
Para instanciar las clases del servicio debemos agregar el espacio de nombres de la siguiente manera.
using AppPrueba.wservice;
La palabra reservada using, seguido del nombre del proyecto y por último mediante el punto obtenemos el nombre del servicio de referencia.
Creamos la instancia de la clase de la web service que hemos agregado, el proceso es similar para las clases del proyecto.
CheckMovilSoapClient ws = new CheckMovilSoapClient();
A partir de esta nueva instancia podemos llamar todos los métodos disponibles del servicio; para este ejemplo podemos realizar un insert.
ws.InsertarUsuario(1, "Gerardo Alvarez");
- Estoy llamando al método InsertarUsuario de la clase instanciada anteriormente.
- El método requiere de cierto número de parámetros, agregamos los parámetros.
Ya que tenemos todo lo necesario ejecuta la aplicación, durante todo el proceso no veras nada que indique si la operación fue exitosa.
Para que puedas conocer si hubo algún problema, el proveedor del servicio te debe devolver alguna respuesta.
De esta manera la aplicación web que creamos ya está consumiendo un web service.
Muchas gracias, la información me fue muy útil, todo me pareció muy bien explicado.
Hola! tenes idea porque cuando agrego el servicio web, tal cual como indicas en el tutorial, se me agrega en una carpeta “App_WebReferences” en vez de en la carpeta que indicas vos, “Service Reference” ?? probé agregandolo como asmx y como asmx?wsdl… estoy con visual studio 2019 en una aplicacion Web ASP.NET. Framework 4.0. gracias!
No tengo una respuesta del porque en nombre de la carpeta cambia, es posible que sea alguna cuestión de Visual Studio;
acabo de probar nuevamente agregar un servicio, el servicio se ubica en una carpeta distinta:
Probada en Visual Studio 2019 con la ultima actualización; aunque la carpeta de almacenamiento sea distinto, el llamado de los métodos es la misma que indico en el post.