Consumir Web Service desde C# .Net

Para consumir un Web Service en Visual Studio debemos seguir los siguientes pasos, es muy importante para este ejemplo conocer como Crear Web Service con C# en Visual Studio. Para iniciar a Consumir un Web Service en C#, debemos seguir los siguientes pasos:

Abrimos Visual Studio, seleccionamos en menú File - New Web Site... como lo muestra la siguiente imagen:


Luego nos aparece la siguiente imagen, seleccionamos la ubicación del proyecto desde el botón Browser y damos clic sobre el boton OK:


Seguidamente se crea el proyecto solución como se muestra en la siguiente imagen:


Ahora, empezamos agregar la Referencia Web de nuestro Web Service que deseamos consumir. Primero damos clic derecho en nuestro proyecto y damos clic sobre Add Web Reference... 


Luego nos aparece la siguiente ventana, aquí nos permite colocar la Url del Web Service que deseamos consumir, en la opción URL y damos clic en el boton Go, como se muestra en la siguiente imagen:


Al dar clic en el botón Go, nos aparece un nombre de Web Service por default si es necesario lo cambiamos, para nuestro ejemplo colocamos WSSuma:


Hasta aquí tenemos agregado a nuestro proyecto web, el Web Service que creamos en una publicación anterior llamado Crear Web Service con C# en Visual Studio

Continuando con el ejemplo, el proyecto solución quedaría de la siguiente forma:


A continuación se muestra el código Html de la pagina default.aspx: 


Y el código C# de la pagina default.aspx.cs

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page 
{
    //Se instancia en variable local, referencia al web services

    WSSuma.Service wsWeb = new WSSuma.Service();

    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void btnSumar_Click(object sender, EventArgs e)
    {
        /****************************************************************************************************
         * Parametrizar en BD la Url del WebServices ademas proxy y credenciales si las llegas a necesitar
         * 2.   Para nuestro ejemplo solo le vamos a pasar el Url del web services apuntando al servidor web
         *      donde se enceuntra alojado
         * 3.   Anexo codigo para credenciales y proxy
         * 
         *      System.Net.WebProxy proxy = new System.Net.WebProxy("IpProxy");
         *      proxy.Credentials = new System.Net.NetworkCredential("userProxy","passProxy","dominioProxy");
         ****************************************************************************************************/
        try
        {
            wsWeb.Url = "http://10.10.174.16/Appwebservices/service.asmx";
            //Se invoca metodo Suma, se pasan los valores A y B y el resultado se muestra
            lblSuma.Text = wsWeb.Suma(txtVA.Text.Trim(), txtVB.Text.Trim());
        }
        catch (Exception ex)
        {
            lblSuma.Text = ex.Message;
        }        
    }
}

En el código anterior la linea No. 11 (WSSuma.Service wsWeb = new WSSuma.Service();)donde se instancia el Web Service es muy importante ya que nos va ha permitir acceder a los métodos del Web Service.

Finalmente nuestro ejemplo ya en ejecución quedaría de la siguiente forma:

Consumir Web Service Visual Studio

Los invito a consultar como crear un Web Services con C# en Visual Studio.
Share:

Crear Web Service con C# en Visual Studio

A continuación vamos a ver la creación de un Web Services con C# en Visual Studio .Net, que tendrá un método llamado Suma. Para este ejemplo utilizamos Visual Studio .Net 2008 pero puede aplicar para .Net 2010. Primero creamos un nuevo proyecto en el menú File - New - Web Site..., como nos muestra la siguiente imagen:


Luego seleccionamos el tipo de proyecto que para nuestro ejemplo es Asp.NET Web Services, buscamos una ubicación para guárdalo con el botón Browse... y damos clic en el botón Ok.

New Web Service Visual Studio

Ya creado el proyecto, el explorador de soluciones nos muestra la siguiente estructura de archivos.

Solution Explorer

Código fuente C#

En el código de .Net, se crea automáticamente una estructura básica que podemos modificar de acuerdo a nuestras necesidades. El atributo [WebMethod] nos indica si el método creado sera expuesto como Web Service, permitiendo que pueda ser consumido por otras aplicaciones,esto lo podemos ver claramente en la siguiente imagen.


Para crear nuestro método Suma reemplazamos el método HelloWorld por el siguiente código:

//Creacion de Metodo Suma que tiene el web Services
    //Los metodos se identifican con 
    [WebMethod]
    public string Suma(string Valor1, string Valor2) {
        int nSuma = 0;
        try
        {
            nSuma = Convert.ToInt32(Valor1) + Convert.ToInt32(Valor2);
        }
        catch
        {
            return "Uno de los valores digitados es incorrecto, por favor verifique.";
        }
        return nSuma.ToString();
    }

Explicando un poco el código anterior, el método Suma recibe dos parámetros (para este ejemplo son string pero podrían ser enteros - int) y la suma de ellos es retornado como un string, si ocurre una excepción ésta es controlada a través de try...catch.
Cuando ejecutamos el código anterior la respuesta en el explorador de Internet aparece nuestro método Suma, luego al dar clic en él, nos solicita los dos parámetros que le declaramos.



Finalmente luego de digitar los valores y dar clic sobre el botón Invocar, el método retorna la siguiente respuesta en formato Xml.


Hasta aquí finalizamos la creación del nuestro Web Service. Los invito ha conocer como Consumir Web Service desde C# .Net

"" Si tienes dudas o quieras ampliar este artículo, lo puedes hacer dejando tus comentarios. Además, si lo consideras interesante puedes compartirlo con amigos y seguidores a través de los botones sociales que aparecen en esta página.""

Share: