tutorial soap.net monster

Upload: daniela-lisbeth

Post on 08-Mar-2016

14 views

Category:

Documents


0 download

DESCRIPTION

web services

TRANSCRIPT

  • Ing. Mauricio Campaa O. Ms. MDU. CCNA. CCIA. 1

    Universidad de las Fuerzas Armadas ESPE

    DEPARTAMENTO CIENCIAS DE LA COMPUTACIN CARRERA DE INGENIERA DE SISTEMAS E INFORMATICA

    ARQUITECTURA DE SOFTWARE

    TUTORIAL DE SOAP.Net

    FECHA:

    13 de Enero del 2015

  • Ing. Mauricio Campaa O. Ms. MDU. CCNA. CCIA. 2

    Crea una solucin en blanco, en donde ubica el nombre del proyecto de la siguiente

    forma:

    Click derecho en el proyecto/Add New Project/ASP.Net WebServiceAplication

  • Ing. Mauricio Campaa O. Ms. MDU. CCNA. CCIA. 3

    Click derecho en el proyecto/Add New Project/ASP.Net Web Aplication

    De esta manera se tiene creado tanto el Servidor Soap y el cliente que consumir dicho servicio. Procede a crear las libreras de clases que le permitirn tener acceso a la entidad, a la base de datos y Lgica de Negocios. Click derecho en el proyecto/Add New Project/Windows/ ClassLibrary/entidades

  • Ing. Mauricio Campaa O. Ms. MDU. CCNA. CCIA. 4

    Click derecho en el proyecto/Add New Project/Windows/ ClassLibrary/entidades/LogicaNegocios

    Click derecho en el proyecto/Add New Project/Windows/ ClassLibrary/ AccesoDatos

  • Ing. Mauricio Campaa O. Ms. MDU. CCNA. CCIA. 5

    Una vez creados, agrega las referencias adecuadas de manera que pueda interactuar entre ellas. Dentro de Lgica de Negocios agrega la referencia de Acceso a Datos y Entidades del siguiente modo. Click Derecho en Logica de Negocios/Add Reference

    En Acceso a datos agrega la referencia de entidades dando Click Derecho en AccesoDatos/Add Reference

    La referencia Web en Cliente_MONSTER, la crea posterior a la implementacin del cdigo

    en las otras libreras de clases, de la siguiente forma.

  • Ing. Mauricio Campaa O. Ms. MDU. CCNA. CCIA. 6

    En Entidades agrega la clase Usuario.cs

    Agrega el siguiente cdigo en Usuario.cs

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Entidades { public class Usuario { private string Cedula = string.Empty; public string cedula { get { return Cedula; } set { Cedula = value; } } private string Nombre = string.Empty; public string nombre { get { return Nombre; } set { Nombre = value; } } private string Direccion = string.Empty; public string direccion { get { return Direccion; } set { Direccion = value; } } } }

  • Ing. Mauricio Campaa O. Ms. MDU. CCNA. CCIA. 7

    En acceso a datos agrega la clase Conexion.cs

    Agrega el siguiente cdigo en Conecion.cs

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient; namespace AccesoDatos { public class Conexion { public SqlConnection Conectar() { String micadena = "Data Source=(local);Initial Catalog=mecanica;Integrated Security=True"; return new SqlConnection(micadena); } } }

  • Ing. Mauricio Campaa O. Ms. MDU. CCNA. CCIA. 8

    En LogicaNegocios agrega la clase AdministradorUsuario.cs

    Agrega el siguiente cdigo en AdministradorUsuario.cs

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using AccesoDatos; using System.Data; using System.Data.SqlClient; namespace LogicaNegocios { public class AdministradorUsuarios { Conexion objConectarse; SqlConnection cnn; SqlCommand cmd; DataSet ds; static public int i = 0; public AdministradorUsuarios() { objConectarse = new Conexion(); } public bool InsertarUsuario(Entidades.Usuario objetoUsuario) { String sql = "insert into Usuario (cedula, nombre, direccion) values ('" + objetoUsuario.cedula + "','" + objetoUsuario.nombre + "', '" + objetoUsuario.direccion + "')";

  • Ing. Mauricio Campaa O. Ms. MDU. CCNA. CCIA. 9

    cnn = objConectarse.Conectar(); cnn.Open(); cmd = new SqlCommand(sql, cnn); cmd.ExecuteNonQuery(); return true; } public string BuscarUsuario(Entidades.Usuario objetoUsuario) { if (i == 0) { Object descripcion; String des; String sql = "select nombre from Usuario where cedula=" + objetoUsuario.cedula; cnn = objConectarse.Conectar(); cnn.Open(); cmd = new SqlCommand(sql, cnn); descripcion = cmd.ExecuteScalar(); des = descripcion.ToString(); i=1; return des; } else { Object descripcion; String des; String sql = "select direccion from Usuario where cedula=" + objetoUsuario.cedula; cnn = objConectarse.Conectar(); cnn.Open(); cmd = new SqlCommand(sql, cnn); descripcion = cmd.ExecuteScalar(); des = descripcion.ToString(); i = 0; return des; } } public bool ActualizarUsuario(Entidades.Usuario objetoUsuario) { String sql = "update Usuario Set nombre='" + objetoUsuario.nombre + "', direccion='" + objetoUsuario.direccion + "' where cedula='" + objetoUsuario.cedula + "'"; cnn = objConectarse.Conectar(); cnn.Open(); cmd = new SqlCommand(sql, cnn); cmd.ExecuteNonQuery(); return true; } public bool EliminarUsuario(Entidades.Usuario objetoUsuario) {

  • Ing. Mauricio Campaa O. Ms. MDU. CCNA. CCIA. 10

    String sql = "delete Usuario where cedula=" + objetoUsuario.cedula; cnn = objConectarse.Conectar(); cnn.Open(); cmd = new SqlCommand(sql, cnn); cmd.ExecuteNonQuery(); return true; } } }

    En ServicioWeb_MONSTER/Service1.asmx.cs agregar el siguiente cdigo

    /* * UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE * ARQUITECTURA DE COMPUTADORES *** SERVIDOR SOAP EN .NET*** * * MASTER MONSTER * */ using System; using System.Collections.Generic; using System.Web; using System.Web.Services; using LogicaNegocios; using Entidades; namespace WebService1 { /// /// Descripcin breve de Service1 /// [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] public class Service1 : System.Web.Services.WebService { [WebMethod] public string procesar(String a, String b) { return a + b; } [WebMethod] public bool insertar(Usuario objetoUsuario) { LogicaNegocios.AdministradorUsuarios logica = new LogicaNegocios.AdministradorUsuarios(); return logica.InsertarUsuario(objetoUsuario); } [WebMethod]

  • Ing. Mauricio Campaa O. Ms. MDU. CCNA. CCIA. 11

    public string buscar(Usuario objetoUsuario) { LogicaNegocios.AdministradorUsuarios logica = new LogicaNegocios.AdministradorUsuarios(); String nombre = logica.BuscarUsuario(objetoUsuario); return nombre; } [WebMethod] public bool eliminar(Usuario objetoUsuario) { LogicaNegocios.AdministradorUsuarios logica = new LogicaNegocios.AdministradorUsuarios(); return logica.EliminarUsuario(objetoUsuario); } [WebMethod] public bool actualizar(Usuario objetoUsuario) { LogicaNegocios.AdministradorUsuarios logica = new LogicaNegocios.AdministradorUsuarios(); return logica.ActualizarUsuario(objetoUsuario); } } }

    Luego se procede a agregar la Web referencia dentro de Cliente_MONSTER. Click Derecho en Cliente_MONSTER/Add Web Reference Ingresa el url del servidor y coloca la referencia con el nombre de Operaciones

    Dentro de Cliente_MONSTER agrega la pantalla web de la siguiente manera

  • Ing. Mauricio Campaa O. Ms. MDU. CCNA. CCIA. 12

    Dentro de Default.aspx.cs agregar el siguiente cdigo

    /* * UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE * ARQUITECTURA DE COMPUTADORES *** CLIENTE SOAP EN .NET*** * * MASTER MONSTER */ using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace WebApplication1 { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnIngresar_Click(object sender, EventArgs e) { Operaciones.Service1 servicio = new Operaciones.Service1(); Operaciones.Usuario objeto=new Operaciones.Usuario(); objeto.cedula = this.txtCedula.Text; objeto.nombre = this.txtNombre.Text; objeto.direccion = this.txtDireccion.Text;

  • Ing. Mauricio Campaa O. Ms. MDU. CCNA. CCIA. 13

    if (servicio.insertar(objeto) == true) { lblMensaje.Text = "Se inserto correctamente"; } else { lblMensaje.Text = "No se inserto correctamente"; } } protected void btnBuscar_Click(object sender, EventArgs e) { Operaciones.Service1 servicio = new Operaciones.Service1(); Operaciones.Usuario objeto = new Operaciones.Usuario(); objeto.cedula = this.txtCedula.Text; try { txtNombre.Text = servicio.buscar(objeto).ToString(); txtDireccion.Text = servicio.buscar(objeto).ToString(); } catch { lblMensaje.Text = "El usuario no existe"; } } protected void btnModificar_Click(object sender, EventArgs e) { Operaciones.Service1 servicio = new Operaciones.Service1(); Operaciones.Usuario objeto = new Operaciones.Usuario(); objeto.cedula = this.txtCedula.Text; objeto.nombre = this.txtNombre.Text; objeto.direccion = this.txtDireccion.Text; if (servicio.actualizar(objeto) == true) { lblMensaje.Text = "Se actualizo correctamente"; } else { lblMensaje.Text = "No se actualizo correctamente"; } } protected void btnEliminar_Click(object sender, EventArgs e) { Operaciones.Service1 servicio = new Operaciones.Service1(); Operaciones.Usuario objeto = new Operaciones.Usuario();

  • Ing. Mauricio Campaa O. Ms. MDU. CCNA. CCIA. 14

    objeto.cedula = this.txtCedula.Text; objeto.nombre = this.txtNombre.Text; objeto.direccion = this.txtDireccion.Text; if (servicio.eliminar(objeto)==true) { lblMensaje.Text = "Se elimino correctamente"; } else { lblMensaje.Text = "No se elimino correctamente"; } } } }

    Finalmente da click derecho en Cliente_MONSTER y pone View in the Browser