martes, 5 de abril de 2011

Como Crear Web Service ASP.NET

Se describe como Crear y Consumir un Web Service


En este apartado explicare como crear y consumir un Web Service.
En este ejemplo creare 2 proyectos de manera separada, en el primero crearemos el web service y en el segundo la aplicación que lo consumirá.
-Creamos un ASP.NET Empty Web Application
-Ahora creamos un nuevo ítem y seleccionamos Web Service, en mi caso lo nombre “WebServicesTest”, nuestro proyecto quedara de la siguiente manera:


Ahora damos doble clic sobre el archivo Test.asmx.cs y modificamos  el web method  HelloWord()
Quedara de la siguiente manera:
       
        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }


Ya tenemos listo nuestro web service, ahora lo que tenemos que hacer es publicarlo para que nuestro proyecto lo pueda consumir.
Para hacer la publicación hacemos lo siguiente:
-Crear una carpeta para indicar en donde se guardaran lo archivos publicados, en mi caso dicha carpeta se llama “WS” dentro de la unidad C.
-Ahora en nuestro proyecto “WebServicesTest” damos clic derecho y seleccionamos la opción “publish” e indicamos la carpeta destino, la configuración quedara de la siguiente manera:

-Una vez terminada la publicación en la carpeta destino te habrá creado la carpeta bin, el Web Service y el Web Config, ahora crearemos nuestro directorio virtual en IIS haciendo lo siguiente.
-Dentro de Defaul Web Site damos clic derecho/Agregar Aplicación
-Ponemos un Alias en mi caso puse “WS” Seleccionamos el pool en mi casa es “ASP:NET v4.0 Classic”, seleccionamos el origen de los archivos en mi caso “C:\WS” damos clic en Aceptar.
Ya tenemos nuestro web service publicado para validarlo abrimos nuestro explorador web, poniendo la siguiente dirección: http://localhost/WS/Test.asmx
Nos mostrara la siguiente pantalla:

Si por alguna razón te marco error  verifica los permisos de tu carpeta y la versión del framework
Ahora vamos a consumir dicho web service.
Creamos un nuevo proyecto web en mi caso se llamara GetWS, agregamos un WebForm y hacemos la referencia a nuestro web service, el proyecto quedara de la siguiente manera:


Para agregar la referencia web damos clic derecho en el proyecto GetWS y seleccionamos la opción Add Web Reference, ahora en URL pegamos la dirección de nuestro web Service en mi caso es: http://localhost/WS/Test.asmx y damos enter para que encuentre nuestros web methods, una vez que los encuentre ponemos el nombre de nuestra referencia en mi caso “WsHello” y damos  clic en Add Reference.
-Ahora en nuestro web form agregamos un label y un botón. El html quedara asi:
<form id="form1" runat="server">
    <div>
        <asp:Label ID="lblHello" runat="server" Text="Hola Amigo"></asp:Label>
        <br />
        <br />
        <asp:Button ID="btnGetWs" runat="server" Text="Button" OnClick="btnGetWs_Click" />
    </div>
</form>

 
-Ahora en el code behind de nuestro aspx agregamos el siguiente código en el evento del botón:
protected void btnGetWs_Click(object sender, EventArgs e)
        {
            //Referencia al Web Service
            WsHello.Test WSGet = new WsHello.Test();
            try
            {
                //Asignamos a nuestro label el valor obtenido por el Web Method
                lblHello.Text = WSGet.HelloWorld();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

-Listo ya tenemos nuestro web service funcionando…

No hay comentarios:

Publicar un comentario