Actualizado el 21 de Marzo del 2018 (Publicado el 8 de Enero del 2018)
552 visualizaciones desde el 8 de Enero del 2018
836,4 KB
45 paginas
Creado hace 17a (13/12/2007)
DFG Web Services - Implementación de aplicaciones
Clientes de Web Services
DFG Web Services
Implementación de aplicaciones
Clientes de Web Services
Servicio de Planificación Territorial
Diputación Foral de Gipuzkoa
febrero de 2007
| Gipuzkoa.net | Departamento de Movilidad y Ordenación del Territorio
DFG Web Services - Implementación de aplicaciones
Clientes de Web Services
Contenidos
1. Descripción del documento
2. Aplicativo cliente .Net
2.1. Introducción
2.2. Creación de un aplicativo consumidor del Web Service ‘Localizar por ID’
2.2.1. Añadir controles al aplicativo
2.2.2. Código C#
2.2.3. Probar el ejemplo
2.2.4. Extender el ejemplo
2.2.5. Probar el ejemplo extendido
3. Aplicativo cliente Java
3.1. Introducción
3.2. Requisitos
3.3. Procesos a realizar
3.4. Código Fuente
3.4.1. WSExecutor.java
| Gipuzkoa.net | Departamento de Movilidad y Ordenación del Territorio
DFG Web Services - Implementación de aplicaciones
Clientes de Web Services
4. Cliente Web
5. Aplicativo cliente PHP
5.1. Introducción
5.2. Requisitos
5.3. Código Fuente
6. Aplicativo PDA Windows Mobile
6.1. Introducción
6.2. Creación del proyecto PDA
6.3. Creación de un aplicativo consumidor del Web Service ‘DibujarImagen’
6.3.1. Añadir controles al aplicativo
6.3.2. Código C#
6.3.3. Probar el ejemplo con el emulador.
| Gipuzkoa.net | Departamento de Movilidad y Ordenación del Territorio
DFG Web Services - Implementación de aplicaciones
Clientes de Web Services
1 - Descripción del Documento
El presente documento describe los prototipos de aplicativos consumidores de Web
Services desarrollados como ejemplos de integración de los Servicios Web
Espaciales de los que se dispone en la versión actual de la plataforma.
Describe los prototipos implementados y sirve de manual para el desarrollo de otros
aplicativos clientes en diferentes plataformas de desarrollo.
(cid:153) Ir a prototipos
Se detallan cuatro prototipos de aplicativos clientes en cuatro tecnologías
diferentes, que demuestran la interoperabilidad de los Servicios Web.
Las cuatro tecnologías que implementan los prototipos son: .Net, Java, un cliente
Web y php.
Existe un prototipo desarrollado en tecnología .Net que implementa el uso de toda
la funcionalidad servida por los diferentes Servicios Web de la Plataforma (Ver
http://b5m.gipuzkoa.net/appws/publish.htm ). Debido a la complejidad de éste, en
el presente documento se describe un prototipo reducido.
2 - Aplicativo cliente .Net
2.1 - Introducción
El desarrollo del cliente en plataforma .Net de Microsoft se ha realizado con el
entorno de desarrollo Visual Studio 2005 y el lenguaje de programación C#. El
prototipo que se describe accede al WebService de Localizar por ID.
| Gipuzkoa.net | Departamento de Movilidad y Ordenación del Territorio
DFG Web Services - Implementación de aplicaciones
Clientes de Web Services
2.2 - Creación de un aplicativo consumidor del Web Service
‘Localizar por ID’
Del menú Data, seleccione la opción “Add New Data Source”.
Aparecerá la primera ventana del Wizard.
Seleccione la opción de “Web Service” y el botón “Next” y aparecerá la siguiente
ventana de referencias Web.
| Gipuzkoa.net | Departamento de Movilidad y Ordenación del Territorio
DFG Web Services - Implementación de aplicaciones
Clientes de Web Services
En la casilla de texto “URL”, teclea el URL del fichero WSDL que corresponde con el
Web Service que se desea usar.
Ejemplo: Localizar por Id.
http://b5m.gipuzkoa.net/dfg-localizar-context-
root/LocalizarPorIdSoapHttpPort?WSDL
Después de unos segundos, aparecerá una lista de los métodos que el servicio tiene
disponibles.
| Gipuzkoa.net | Departamento de Movilidad y Ordenación del Territorio
DFG Web Services - Implementación de aplicaciones
Clientes de Web Services
Seleccionar el botón “Add Reference” y aparece la siguiente ventana
Al seleccione “Finish”, la ventana del Wizard se cierra y automáticamente se añade
la nueva referencia a la solución y crea el “Data Source”.
En la ventana del “Solution Explorer” aparecerá la nueva referencia Web.
Al seleccionar la opción”Data->Show Data Sources” del menú, aparece la ventana
de Data Sources.
| Gipuzkoa.net | Departamento de Movilidad y Ordenación del Territorio
DFG Web Services - Implementación de aplicaciones
Clientes de Web Services
Aparece un Data Source por cada variable de salida de los Web Services que se
puede abrir para explorar la estructura de datos.
| Gipuzkoa.net | Departamento de Movilidad y Ordenación del Territorio
DFG Web Services - Implementación de aplicaciones
Clientes de Web Services
2.2.1 - Añadir controles al aplicativo
Para visualizar la respuesta del Web Service, se puede añadir un DataGrid
arrastrando el icono del DataSource al formulario. En el ejemplo se arrastra la
estructura
“LocalizarPorIdUser_localizaridcallejero_Out
->
objectOut
-
>listaDirecciones ” del servicio al formulario.
Para llamar el Web Service, añade un control de tipo Button.
| Gipuzkoa.net | Departamento de Movilidad y Ordenación del Territorio
DFG Web Services - Implementación de aplicaciones
Clientes de Web Services
2.2.2 - Código C#
El código de acceso al Web Service se mete en el método de “button1_Click”.
Haciendo doble-clic sobre el botón en modo de diseño crea la clase vacía en modo
de codificación.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
}
}
}
| Gipuzkoa.net | Departamento de Movilidad y Ordenación del Territorio
DFG Web Services - Implementación de aplicaciones
Clientes de Web Services
Añade las siguientes líneas de código al método de button1_Click().
private void button1_Click(object sender, EventArgs e)
{
// Crear una nueva instancia de la clase del Web Service.
net.gipuzkoa.b5m.LocalizarPorId webId =
new net.gipuzkoa.b5m.LocalizarPorId();
// Array de capa adicionales a nulo.
net.gipuzkoa.b5m.WsmapasselectUser[] nomArr = null;
// Llama al Web Service y recoger la respuesta.
net.gipuzkoa.b5m.LocalizarPorIdUser_localizaridcallejero_Out
webIdOut=webId.localizaridcallejero("D_4545","","0","Si",
"PUBLI", "200", "200", "NO", nomArr);
// Asignar la respuesta al DataSource.
listaDireccionesBindingSource.DataSource =
webIdOut.objectOut.listaDirecciones;
}
2.2.3 - Probar el ejemplo
Ejecutar la aplicación, seleccione el botón para lanzar la petición al Web Service y
después de unos segundos, aparecerá la respuesta del servicio en el Grid.
2.2.4 - Extender el ejemplo
| Gipuzkoa.net | Departamento de Movilidad y Ordenación del Territorio
DFG Web Services - Implementación de aplicaciones
Clientes de Web Services
Con el parámetro Imagen=”Si”, el servicio ha generado un imagen que corresponde
con en Id “D_4545” que no se ha usado. En esta sección se amplia el ejemplo para
dibujar la imagen.
Primero hay que volver al formulario en modo de diseño y añadir un PictureBox que
se usa para mostrar el mapa y un TextBox para introducir el identificador del
edificio.
| Gipuzkoa.net | Departamento de Movilidad y Ordenación del Territorio
DFG Web Services - Implementación de aplicaciones
Clientes de Web Services
A continuación aparece el método modificado para tratar de la imagen. Además, se
ha modificado el código para limpiar la imagen y el DataSource y se actualiza el
estado del cursor durante la ejecución del servicio.
private void button1_Click(object sender, EventArgs e)
{
// Cambiar el cursor.
Cursor.Current = Cursors.WaitCursor;
// Limpiar el DataSource
listaDireccionesBindingSource.Clear();
// Limpiar la imagen.
if (pictureBox1.Image != null)
pictureBox1.Image = null;
Refresh();
// Crear una nueva instancia de la clase del Web Service.
net.gipuzkoa.b5m.LocalizarPorId webId = new
net.gipuzkoa.b5m.LocalizarPorId();
// Array de capa adicionales a nulo.
net.gipuzkoa.b5m.WsmapasselectUser[] nomArr = null;
// Llama al Web Service y recoger la respuesta.
net.gipuzkoa.b5m.LocalizarPorIdUser_localizaridcallejero_Out
webIdOut = webId.localizaridcallejero (richTextBox1.Text,
"", "0", "Si", "VITO", pictureBox1.Width.ToString(),
pictureBox1.Height.ToString(), "NO", nomArr);
// Asignar la respuesta al DataSource.
listaDireccionesBindingSource.DataSource =
webIdOut.objectOut.listaDirecciones;
// Recoger el URL de la imagen
string IdCallUrl = Convert.ToString(webIdOut.imagenurlOut);
// Pedir y dibujar el mapa
if (webIdOut.imagenurlOut != null)
{
WebRequest WReq = WebRequest.Create(IdCallUrl);
WebResponse WRes = WReq.GetResponse();
Stream strm = WRes.GetResponseStream();
Image WImage = Image.FromStream(strm);
pictureBox1.Image = WImage;
}
// Dejar el default cursor.
Cursor.C
Comentarios de: DFG Web Services - Implementación de aplicaciones Clientes de Web Services (0)
No hay comentarios