Hoy quiero mostrarles como hacer un web services y como consumir este servicio con una
aplicación hecha en c#.
En el tutorial anterior vimos como crear un webservices
desde cero ahora vamos a crear un web services, lo que este tiene que hacer es
que se le envie por parámetro un código y dos números para que realice las
operaciones de sumar, restar, multiplicar y dividir según el código que se le
haya enviado.
Para esto vamos a crear el código del web services:
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.Services;
namespace
SumaNumeros
{
///
/// Descripción breve de
Service1
///
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo
= WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// Para permitir que se llame a este servicio
Web desde un script, usando ASP.NET AJAX, quite la marca de comentario de la
línea siguiente.
// [System.Web.Script.Services.ScriptService]
public class Service1 :
System.Web.Services.WebService
{
[WebMethod]
public string operaciones(int
codigo, int i, int
j)
{
if
(codigo == 1)
{
int suma = i + j;
return "la
suma es: " + suma;
}
else
{
if (codigo == 2)
{
int resta = i - j;
return "la
resta es: " + resta;
}
else
{
if (codigo == 3)
{
int multiplicacion = i * j;
return "la multiplicacion es:
" + multiplicacion;
}
else
{
if (codigo == 4)
{
int division = i / j;
return "la
division es: " + division;
}
else
{
return "ingrese un
codigo del 1 al 4 para hacer una operacion";
}
}
}
}
}
}
}
Lo que tiene este código de diferente es el hecho
de poner los condicionales para saber qué operación se tiene que realizar según
el código enviado por parámetro.
Después de creado el web services vamos a ejecutar
el proyecto y nos quedaría algo asi:
Abrimos otro visual studio y creamos un proyecto
nuevo
Archivo>nuevo>proyecto
Elegimos la opción de visual C#
Windows > aplicación de Windows forms
Le damos un nombre a nuestro proyecto y clic en
aceptar.
A continuación nos aparecerá un form para empezar a
trabajar en el diseño
Para este ejemplo vamos a necesitar utilizar
labels, cmapos de texto y botones, agregamos esto al form quedando asi:
Después de que tengamos el diseño damos doble clic
en el botón resultado, de inmediato se nos abrirá el código del botón; pero
antes de esto debemos agregar la referencia web del webservices; para esto
haremos lo siguiente.
Vamos a
Proyecto > agregar referencia de servicio
Avanzadas.. > agregar referencia web
En dirección url colocamos la dirección del
webservices y damos clic en la flechita verde
Vemos como nos aparece la referencia en el panel derecho
Y agregamos el siguiente código
Service1.Service1
servicio = new consumodelwebservices.Service1.Service1();
int
cod = int.Parse(textBox1.Text);
int
num1 = int.Parse(textBox2.Text);
int
num2 = int.Parse(textBox3.Text);
textBox4.Text = servicio.operaciones(cod,num1,num2);
explicación:
Service1 es el nombre que le dimos a la referencia y en este
caso es también el nombre real servicio
es el nuevo nombre para poder invocar después el método, consumodelwebservices
es el nombre que en este caso se le dio al proyecto de windowsform, y siguen
las declaraciones de las tres variables y su conversión a entero para poder
enviárselas por parámetro al servicio web.
NOTA
Los nombres de las variables usadas las pueden reemplazar por el
nombre que se desee
Importante agregar esto:
using consumodelwebservices.Service1;
para que la compilación del proyecto sea correcta recuerden
que la estructura general para eso es
using nombredelproyectoform.nombredelareferenciaweb;
con esto ya podemos ejecutar nuestro proyecto
Ingresamos los datos y damos clic en el botón resultado.
Código 1 : el uno nos indica que es suma
Como podemos ver nos
arroja el resultado en el text box
Por el momento esto es todo
Recuerden el resto queda a su imaginación.
Saludos
H4RU.
Comentarios
Publicar un comentario