WebServices: Crear y consumir un Web Service en C#

En este ejemplo crearemos un web service simple que únicamente devuelva una cadena de texto. Si recibiera parámetros o realizara alguna operación (consultar una base de datos, realizar cálculos, etc…) el procedimiento sería análogo a cualquier método “típico”. Comencemos por la creación de un nuevo Web Service. Abrimos VisualStudio y creamos un nuevo proyecto “Aplicación del Servicio Web ASP.NET” tal y como se ve en la captura:

Veréis que se os crea un método “HelloWorld” que retorna un string “Hola a todos”. Podéis crear cualquier método que queráis para que haga la tarea que prefiráis (recibiendo o no parámetros). Para el ejemplo usaremos ese método porque es uno de los más simples. No tocamos nada, simplemente guardamos y hacemos “Generar -> Publicar WebService”. Esto publicará en el servidor web el servicio web que acabamos de crear. Evidentemente necesitamos un servidor en el que publicarlo, en mi caso he elegido realizar la publicación por ftp. La dirección sería: ftp://NombreDeUsuario:Contraseña@DireccionDelServidor/Una vez hecho esto, podemos irnos a un navegador y teclear: http://DireccionDelServidor/Service1.asmx y veremos que el servicio web responde de la forma esperada. Es decir, todo está listo :) 

Crear una aplicación que lo consuma no es problema. Creamos un proyecto “Aplicación para Windows” y construimos una interfaz con esta pinta:

Ahora debemos agregar una referencia al WebService para que nuestra aplicación lo conozca. Para ello hacemos “Proyecto -> Agregar referencia Web” y en la dirección URL tecleamos: http://DireccionDelServidor/Service1.asmx y le damos un nombre a la referencia web, en mi caso “HelloWorld”. Ahora nuestro proyecto ya conoce al WebService pero, ¿cómo lo usamos? Bien, hagamos doble click sobre el botón “Voy a tener suerte”. Haremos que al ser clicado instancie al WebService, llame al método HelloWorld y ponga en la caja de texto el resultado del método.

            Service1 service = new Service1();
           txtAns.Text = service.HelloWorld();

Ahora sólo nos queda ejecutar el programa y:

Perfecto :) Hemos creado un WebService y después una aplicación de escritorio que lo consume. A partir de ahora, todo es ir complicando un poco más el proceso dotando al servicio web de más operaciones y más complejas.

About the Author

Me llamo Pablo Carballude González, soy graduado en computación y con master en HCI y Seguridad Informática. Actualmente trabajo para Microsoft como Developer Evangelist. Soy de esas personas que no saben si los textos autobiográficos deben ser en primera o tercera persona. Lo intenté en segunda, pero no le entendí nada :P