31 de octubre de 2014

Crear y consumir un Web Service C#

Teniendo instalado el IIS lo primero sera abrir el VS, en mi caso VS 2013 y crear un nuevo sitio web


ahora especificar un nombre y la ubicación, como se da por supuesto tener el IIS instalado, se guardara el web service en la carpeta web del IIS con el nombre blogspot tal como muestra la imagen


Para verificar que se creo la carpeta, se puede acceder a ella y verificar la existencia de los archivos


si desean crear primero la carpeta en su directorio web y después agregar el webservice pueden lograrlo sin mayor dificultad, simplemente le especifican al VS al momento de la creación donde debe ir a guardar el web service

Ahora lo primero que se hará en el código sera cambiar el namespace que por default aparece por el que a ustedes se les facilite

lo siguiente sera crear un nuevo Webmethod Saludo que recibe dos parámetros y devuelve un string, este webmethod lo consumiré desde una aplicación que se creara mas adelante


ahora lo probamos, en mi caso lo haré desde el Google Chrome


y asi se muestra el servicio desde el navegador con los dos métodos, dar click en Saludo 


se pedirán los dos parámetros que debe recibir el método, tal como lo especifique en el código de este


y la salida se muestra en XML


Ya con esto creamos un web service --que ustedes lo pueden hacer mejor no lo dudo-- pero ahora pasare a probarlo en una aplicación de escritorio, lo primero que debo hacer es publicarlo en IIS.

Publicar Web Service en IIS 8

Ahora se debe dar click derecho en el website y dar click en Build Web site


y luego dar click derecho sobre el website y seleccionar Publish Web site


se abrirá una ventana desde la opción Profile(menu en parte izquierda de la pantalla) en que se debe seleccionar la opcion Custom


y se debe escribir un perfil, luego dar click en OK


Ahora en la opción Connection(menu en parte izquierda de la pantalla), se debe cambiar el Publish method a File System


y luego en la parte de abajo especificar la ubicación del web service desde la carpeta wwwroot


Quedando de la siguiente manera, ahora solo queda darle click al botón Publish


Lo que sigue es abrir el administrador de IIS


y seleccionar la carpeta de nuestro web site tal como muestro en la figura


y sobre esta damos click y seleccionar Convertir en aplicacion


y tendremos la siguiente ventana, dar click en 


Ahora nos vamos a examinador de directorios y damos doble click sobre el elemento


y seleccionamos habilitar dal como se ve en la parte izquierda de la figura


y ahora escribimos en el navegador la dirección de nuestro web service tal como se muestra


Consumir web service desde Windows App

Se puede consumir desde aplicación web o de escritorio, en este caso la consumire el servicio web desde una aplicación de escritorio en C#, para eso creamos un nuevo Windows Forms App y lo llamamos consumidor


La ventana principal tendra la siguiente apariencia


Ahora dar click derecho en la aplicacion y seleccionar agregar nueva referencia tal como se muestra


en la pantalla que aparece seleccionar Advanced


y a continuación seleccionar Add Web Reference 


seleccionar Web Services on the local machine


y luego seleccionar el web service que se desea consumir, en este caso, seleccionar blogspot


y en la siguiente pantalla tendremos los metodos de nuestro web service, la direccion url para acceder al web service y se debera especificar una referencia para este, en mi caso deje la refernecia a web service con el nombre referencia, uego solo dar click en Add reference


Ahora viene el código, lo primero es agregar la referencia: using Consumidor.referencia;
luego programar el evento del botón Consumir, les dejo la imagen para que ustedes escriban las lineas de código en su programa...funciona !!!





Fin.