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