Integrando Servicios Web XML en VB 2003 Fecha: 19/Dic/2004 (Diciembre 18 de 2004)
|
En esta aplicación nos conectaremos a un Servicio Web, para así integrar nuestra aplicación windows a un servicio que nos da información geográfica de algunos países y ciudades.
1. Crear el Proyecto
Crearemos un nuevo proyecto de Visual Basic, tipo aplicación para windows. Lo llamaremos weather2. Agregar la Referencia Web [Llamar el Servicio Web XML]
Aquí llamaremos al Servicio Web, el cual está alojado en Internet. Recordemos que para disponer de la funcionalidad de este Servicio Web, éste debe estar en Internet, y en el momento de poner a funcionar nuestra aplicación debemos estar conectados.Hacemos clic en Proyecto > Agregar Referencia Web
En el cuadro de texto ingresamos la siguiente dirección en la cual está alojado el Servicio Web.
http://www.webservicex.net/globalweather.asmx
Recuerden que los servicios web tienen extensión .asmx o .wsdl
En el momento de hacer clic en 'Ir', en la parte baja, se cargan los métodos que posee este Servicio Web.
Posteriormente en la parte derecha en 'Nombre de Referencia Web, ingresamos cualquiera para identificarlo, en nuestro caso ingresamos Global_Weather.
Clic en Aceptar. Como podemos observar en el Explorador de Soluciones automáticamente se agrega una carpeta llamada Web References, y si la desplegamos vemos el nombre que le dimos a la referencia web, en este caso Global_Weather.
Ahora podemos comenzar a hacer nuestra aplicación.
Necesitaremos dos TextBox, llamados txtCity y txtCountry. Un Button btnSearch, y otro TextBox txtInfo.
El TextBox txtInfo tiene la propiedad ScrollBars con el valor Vertical, y la propiedad Multiline en True.
El Servicio Web al que estamos haciendo referencia, nos pide dos valores como Ciudad y País, y nos retorna algunos datos geográficos.
Código Fuente
'Importamos el espacio de nombres correspondiente.
'weather es el nombre que le colocamos al proyecto
'y Global_Weather el nombre que le dimos a la referencoa que agregamos.
'Aquí use un alias llamado gw para acceder mas fácil al NameSpace, aunque es opcional.
Imports
gw = weather.Global_WeatherPublic
Class Form1 Inherits System.Windows.Forms.Form'Variables que utilizaremos para capturar los datos de envío al Web Service
Private City As String Private Country As String 'El procedimiento Buscar, recibe dos String, Ciudad y Pais Friend Sub Buscar(ByVal Ciudad As String, ByVal Pais As String)'Creamos una Instancia a la Clase GlobalWeather que posee el Servicio Web. Dim objGW As New gw.GlobalWeather 'String que almacenará los resultados Dim s As String 'Con el Objeto que creamos llamado objGW, llamamos al Método GetWeather que recibe_ 'la Ciudad (City) y País (Country) que queremos buscar_ 'y retorna un String
s = objGW.GetWeather(Ciudad, Pais)
'Llevamos el resultado a la propiedad Text del txtInfotxtinfo.Text = s
End SubPrivate Sub btnSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearch.Click
'Llamamos al Procedimiento Buscar y la enviamos los parámetros correspondientes_
'capturando los TextBoxCity = txtcity.Text
Country = txtcountry.Text
Buscar(City, Country)
End Sub
End
ClassLos datos arrojados como podrán ver están en formato XML, por lo cual podría resultar un poco difícil su comprensión. Sin embargo se puede llevar a un .XML los datos, y luego mostrarlos en un DataGrid para tener una mejor visualización.
Sobra recordar que al momento de utilizar o probar la aplicación deben estar conectados a Internet
Espero haya sido de gran ayuda.
Hasta pronto
Fichero con el código de ejemplo: luisf_adobevbnet.zip - 8 KB