Consumir Web Services Soap en Android (parte 1)
En esta primera parte vamos a construir un Servicio Web en la plataforma .Net el cual utiliza el estándar SOAP como mecanismo de comunicación.
Comencemos definiendo SOAP: Según la Wikipedia, es es un protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML
De esta manera, Un Web-Service hecho en Java, puede ser utilizado y consumido por una aplicación en otro lenguaje como Perl, Visual Basic, etc. Tal como lo muestra la imagen.
Requisitos para realizar este tutorial:
- Visual Studio 2010
- Internet Information Services (IIS)
Consideraciones previas:
- El Web-Service se programará en el lenguaje Visual Basic.Net, posteriormente lo publicaremos en el IIS, asumiendo que ya tienen instalado y configurado el IIS (ver un tutorial como instalar y configurar el IIS)
- Trabajaremos sobre la solución que hicimos en el tutorial de applications blocks para acceso a datos
Empezamos:
1. Agregar un proyecto de tipo Aplicación web vacía de ASP.NET con nombre "WebServices" a la solución Visitas_SLN
2. Agregar un nuevo elemento con nombre "WebServiceVisitas" de tipo Servicio Web al proyecto WebServices
3. Agregar un archivo de configuración web con nombre Web.config
De manera que el explorador de soluciones debería ser así:
4. Abrir el elemento WebServiceVisitas.asmx y escribir el siguiente código:
Imports System.Web.Services Imports System.Web.Services.Protocols Imports System.ComponentModel Imports Entidades Imports Negocios ' To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. '<System.Web.Script.Services.ScriptService()> _ <System.Web.Services.WebService(Namespace:="http://tempuri.org/")> _ <System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _ <ToolboxItem(False)> _ Public Class WebServiceVisitas Inherits System.Web.Services.WebService <WebMethod()> _ Public Function HelloWorld() As String Return "Hello World" End Function <WebMethod()> _ Public Function ConsultarVendedores() As List(Of VendedorInfo) Dim n As New Vendedor Return n.ConsultarVendedores() End Function <WebMethod()> _ Public Function ConsultarRutasPorVendedor(IdVendedor As Integer) As List(Of RutaInfo) Dim n As New Ruta Return n.ConsultarRutasPorVendedor(IdVendedor) End Function <WebMethod()> _ Public Function ConsultarClientesPorRuta(IdRuta As Integer) As List(Of ClienteInfo) Dim n As New Cliente Return n.ConsultarClientesPorRuta(IdRuta) End Function <WebMethod()> _ Public Function ConsultarTiposVisitas() As List(Of TipoVisitaInfo) Dim n As New TipoVisita Return n.ConsultarTiposVisitas() End Function <WebMethod()> _ Public Function GrabarVisita(EsNuevo As Boolean, Visita As VisitaInfo) As Boolean Dim n As New Visita Return n.GrabarVisita(EsNuevo, Visita) End Function <WebMethod()> _ Public Function ConsultarVisita(IdVisita As Integer) As VisitaInfo Dim n As New Visita Return n.ConsultarVisita(IdVisita) End Function End Class
El atributo <WebMethod()> _ sirve para que el método marcado, pueda ser visto desde el exterior(exponer el método)
5. Correrlo, y aparecerá su navegador predeterminado enlistando los métodos expuestos a través del servicio web, como la siguiente pantalla:
6. Comprobar que cada uno de los métodos funcionen correctamente
7. Publicar el WebService en el IIS tal como lo indico en el tutorial de IIS ver la sección que dice "Publicar un website en IIS" son exactamente los mismos pasos para publicar un servicio web.
Al final deberá quedar algo así:
no olvidar habilitar el examen de directorios:
Al examinar el servicio entramos a WebServiceVisitas.asmx y una vez mas probamos que todo funciona.
Al final tendremos nuestro servicio web publicado localmente. hecho esto puedes continuar a la parte 2 de este tutorial. En la parte 2 se proporciona los enlaces de descarga para las fuentes completas.
Ver parte 2
Si te gusto este articulo, suscribete a nuestra pagina de facebook!
Comentarios
Publicar un comentario