PlatinumEssays.com - Free Essays, Term Papers, Research Papers and Book Reports
Search

Viabilidad

By:   •  April 19, 2016  •  Book/Movie Report  •  5,401 Words (22 Pages)  •  1,204 Views

Page 1 of 22

Desarrollo con Tecnologías Emergentes

Práctica PR2

Desarrollo de aplicaciones orientadas a Servicios Web con Visual Studio 2015


Contenido

1. Consumo de un Servicio Web creado por terceros        

1.1 Consumo de un servicio web con tecnología REST        

1.2 Consumo de un servicio web con tecnología SOAP        

2. Creación de un Servicio Web SOAP        

2.1 Ejemplo básico de llamada al Servicio Web        

3. Aplicación de escritorio con acceso a Base de Datos utilizando un Servicio Web SOAP        

3.1 Ejemplo Facturas-Clientes con servicio web. Explicación.        

3.2 Obtención de datos con el servicio web.        

3.3 Métodos que contiene el Servicio Web.        

3.3.1  Método: Obtener clientes.        

3.3.2  Método: Obtener Facturas.        

ACTIVIDAD EXTRA 1: Añadir un método “nuevoCliente” al servicio web.        

ACTIVIDAD EXTRA 2. Completar el servicio web        

ACTIVIDAD EXTRA 3. Crear un servicio web con tecnología REST        

ACTIVIDAD EXTRA 4. Integrar llamadas a servicios web gratuitos disponibles en Internet        

 


1. Consumo de un Servicio Web creado por terceros

Un servicio web es una funcionalidad (u operación) instalada en un servidor web que puede ser invocada (consumida) tanto desde aplicaciones de escritorio como desde aplicaciones web.

En este primer apartado se desarrollará una aplicación de escritorio que invoca o consume uno de los servicios web ofrecidos por la oficina virtual del catastro, se trata de un servicio llamado “OVCCallejero” para obtener todas las provincias de España (ConsultaProvincia) y todos los municipios que pertenecen a una determinada provincia (ConsultaMunicipio):

https://ovc.catastro.meh.es/ovcservweb/OVCSWLocalizacionRC/OVCCallejero.asmx 

[pic 2]

Cuando se crean servicios web se pueden utilizar dos tecnologías diferentes: REST y SOAP. En el caso del catastro, se ofrece el servicio con las dos tecnologías. En los dos apartados siguientes se muestra cómo se pueden consumir o invocar usando ambas tecnologías.

1.1 Consumo de un servicio web con tecnología REST

Los servicios con tecnología REST (también se denominan Web API) son más ligeros que los que usan tecnología SOAP. Utilizan el protocolo HTTP, y se invocan como cualquier página web.

Por ejemplo, en un navegador si se escribe la URL:

=

Se obtiene un archivo XML con todos los municipios de Madrid.

[pic 3]

Una aplicación que quiera invocar esa operación del servicio callejero sólo tiene que invocar la URL y procesar la información obtenida en formato XML. Hay servicios que devuelven los resultados en formato JSON, en el caso de los servicios del catastro, se trabaja con XML.

En Visual Studio se puede hacer una aplicación de escritorio que consuma el servicio callejero. Se trata de hacer una aplicación con una ventana en la que se use un ComboBox1 que al cargar la aplicación (evento FormLoad) se rellene con la lista de provincias obtenidas llamando a la operación “ConsultaProvincia”, y un ComboBox2 que cuando se detecte que ha cambiado la selección de una provincia (evento SelectionChanged del ComboBox1), se rellene con la lista de municipios de la provincia seleccionada.

Y un botón “Saludar” que al pulsarlo salude indicando el nombre de la persona, su provincia y su municipio:

[pic 4]

Para invocar un servicio REST desde una aplicación .NET, hay que crear primero un objeto de la clase WebClient, disponible en el namespace System.Net, y después invocar la URL usando el método “DownloadString(URL)”.

using System.Net;

WebClient clienteWeb = new WebClient();

string resultado = clienteWeb.DownloadString("texto con la URL");

Como el resultado se obtiene en formato XML, para procesarlo, hay que convertir el string recibido en un objeto de la clase XmlDocument (disponible en el namespace System.Xml), que puede procesarse facilmente.

El código del formulario sería por tanto el siguiente:

1. EVENTO Load: Se carga el comboBox1, con la lista de provincias:

      private void Form1_Load(object sender, EventArgs e)

        {

            WebClient clienteWeb = new WebClient();

            string provincias = clienteWeb.DownloadString("http://ovc.catastro.meh.es/ovcservweb/OVCSWLocalizacionRC/OVCCallejero.asmx/ConsultaProvincia");

            XmlDocument xmlProvincias = new XmlDocument();

            xmlProvincias.LoadXml(provincias);

            XmlNodeList soloNombreProvincias = xmlProvincias.GetElementsByTagName("np");

           

            for (int i = 0; i < soloNombreProvincias.Count; i++)

            {

                comboBox1.Items.Add(soloNombreProvincias[i].InnerXml);

                comboBox1.Text = comboBox1.Items[0].ToString();

            }

        }

2. EVENTO SelectedIndexChanged del comboBox de proviencias: Se carga el comboBox2, con la lista de municipios de la provincia seleccionada en el comboBox1:

      private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

        {

            WebClient clienteWeb = new WebClient();

            string municipios = clienteWeb.DownloadString("http://ovc.catastro.meh.es/ovcservweb/OVCSWLocalizacionRC/OVCCallejero.asmx/ConsultaMunicipio?Provincia="+comboBox1.Text+"&Municipio=");

            XmlDocument xmlMunicipios = new XmlDocument();

            xmlMunicipios.LoadXml(municipios);

            XmlNodeList xmlSoloNombreMunicipios = xmlMunicipios.GetElementsByTagName("nm");

            comboBox2.Items.Clear();

            for (int i = 0; i < xmlSoloNombreMunicipios.Count; i++)

            {

                comboBox2.Items.Add(xmlSoloNombreMunicipios[i].InnerXml);

                comboBox2.Text = comboBox2.Items[0].ToString();

            }

        }

3. EVENTO Click del botón: Se muestra el mensaje de saludo en pantalla

        private void button1_Click(object sender, EventArgs e)

        {

            MessageBox.Show("Hola " + textBox1.Text + " vives en " + comboBox2.Text + ", provincia de " + comboBox1.Text);

        }

1.2 Consumo de un servicio web con tecnología SOAP

Los servicios con tecnología SOAP son más pesados que los que usan tecnología REST. Utilizan un protocolo propio denominado SOAP para componer los mensajes de envío y de respuesta. Después estos mensajes se envían usando protocolo HTTP ero sólo como protocolo de transporte, mientras en REST el protocolo HTTP se usa directamente como protocolo de aplicación.

...

Download:  txt (28.3 Kb)   pdf (1.2 Mb)   docx (405.8 Kb)  
Continue for 21 more pages »