ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

WSDL INSPECTOR


Enviado por   •  28 de Septiembre de 2014  •  4.141 Palabras (17 Páginas)  •  272 Visitas

Página 1 de 17

WSDL INSPECTOR

Alcance

Lenguajes: Java, .NET, Visual Basic

Interfaces: Win, Web

Introducción

El WSDL Inspector permite a partir del WSDL de un web service definir los tipos de datos necesarios en GeneXus para poder consumir el web service en forma transparente sin tener que preocuparse de los protocolos involucrados en el proceso y la definición del mismo.

Descripción

El WSDL de un web service es un archivo que describe al mismo; brinda toda la información necesaria para poder consumirlo.

GeneXus brinda una herramienta llamada WSDL Inspector que permite a partir del WSDL de un web service definir en la base de conocimientos todo lo necesario para poder consumir los métodos del web service en forma transparente.

Para acceder al WSDL Inspector hay que ejecutar la opción Tools/WSDL Inspector. La misma esta solo accesible desde Design.

En “Web Service URL” se debe ingresar el camino hacia el WSDL. Puede ser referenciado por medio del protocolo http (por ej. http://api.google.com/GoogleSearch.wsdl ) o file (por ej. file:C:\Servicios\AmazonWebServices.wsdl).

Una vez ingresado el camino del WSDL se debe presionar el botón “Inspect”, con lo cual en caso de no existir ningún error se mostrará la información de los distintos métodos que brinda el web service, junto con los tipos de datos necesarios para poder consumirlos.

Para poder “importar” la información necesaria dentro de la base de conocimientos que permita consumir el web service se debe presionar el botón “Add Reference”.

En la imagen anterior se muestra la información de un web service simple, el cual cuenta con un solo método llamado BabelFish que recibe dos parámetros de entrada de tipo Carácter y retorna otro parámetro de tipo Carácter.

El siguiente ejemplo muestra otro caso en el cual el web service cuenta con mas de un método y se necesita definir nuevos tipos de datos(ArrayOfNewsCategoty, NewsCategoty, ArrayOfBusnessShortNews, BusnessShortNews):

Add Reference

Como se mencionó anteriormente al presionar el botón “Add Reference” se genera dentro de la base de conocimientos los tipos de datos necesarios para poder consumir el web service en forma trasparente. O sea, se genera un tipo de datos que identifica el web service y en caso de que el mismo necesite nuevos tipos de datos se genera un tipo de datos estructurado para cada uno de ellos.

De esta forma se puede definir una variable a la cual asignarle el tipo de datos definido para el web service y utilizando los métodos de la misma poder invocar a los distintos métodos que el web service provee. Si para consumir el método se necesitan tipos de datos estructurados hay que crear variables con los tipos de datos estructurados creados por el Inspector.

Invocación de los métodos de un web service

Método sin tipos de datos estructurado

Volvamos entonces a la primera imagen para poder mostrar en un caso sencillo como poder consumir un web service.

En este caso al presionar el botón ‘Add Reference’ se agrega a los tipos de datos que maneja GeneXus, el tipo “net_xmethods_wwwsd_BabelFishService.BabelFishService”.

(Notar que en el nombre asignado al tipo de datos esta precedido por el namespace que identifica al web service, de esta forma GeneXus asegura que no van a existir dos tipos de datos con el mismo nombre para distintos web services).

De esa forma se puede definir una variable a la cual asignarle ese tipo de datos; llamaremos a la misma “ws”.

Luego podremos invocar utilizando la variable “ws” a cualquiera de los métodos que el web service provee (en este caso solo uno) de la siguiente forma:

&result = &ws.BabelFish(&traslationmode, &source)

Donde &result, &traslationmode y &source son variables de tipo character.

Eso es todo!, de esta forma se puede invocar a un web service en forma sencilla sin tener que preocuparse de los protocolos involucrados en el proceso y la definición del mismo; solamente se tuvo que dar la ubicación de su WSDL y GeneXus se encargó de esconder la complejidad y definir un tipo de datos que represente al web service.

Método con tipo de datos estructurado

Ahora vamos a consumir un webservice que utiliza dos tipos de datos estructurados.

Al importar el webservice en GeneXus se crea la siguiente:

• Un nuevo tipo de datos correspondiente al webservice (com_swanandmokashi.Horoscope)

• Un tipo de dato estructurado llamado ZodiacSigns con la siguiente definición:

 ZodiacSign Character(9999)

 DailyForecast Character(9999)

• Un tipo de dato estructurado llamado ArrayOfZodiacSigns con la siguiente definición:

 ArrayOfZodicSigns collection of ZodiacSigns

Para consumir el webservice se tiene el siguiente código:

&array = &ws.GetHoroscope()

For &item in &array

&SodiacSign = &item.ZodiacSign

&ForeDailiy = &item.DailyForecast

load

endfor

...

Descargar como (para miembros actualizados)  txt (25.4 Kb)  
Leer 16 páginas más »
Disponible sólo en Clubensayos.com