4D Stock Stalker Un navegador dentro de 4D

¿Cómo invocar un servicio Web desde 4D?

Cuando un servicio Web está publicado, puede ser invocado desde cualquier aplicación o cualquier lenguaje compatible con el protocolo SOAP. Hoy en día casi cualquier lenguaje de programación lo permite: Java, .NET, ActionScript, Delphi y obviamente 4D.

Con 4D es muy fácil crear un cliente para servicios Web, gracias al Asistente de servicios Web.

En un primer ejemplo vamos a consultar un servicio Web que calcula la tasa de cambio entre dos monedas.

El WSDL que describe los procedimientos disponibles se encuentra en:
http://www.webservicex.net/CurrencyConvertor.asmx?wsdl

No resulta imprescindible saber que el Servicio Web fue creado con la tecnología .NET ya que el estándar funciona como una caja negra y privilegia la información cualquiera que sea su fuente.

Tras dejar el Asistente 4D descubrir el WSDL, vemos que existe un Servicio Web llamado CurrencyConvertor que ofrece un método llamado ConversionRate con dos parámetros de entrada y uno de salida. Simplemente seleccionando el método ConversionRate, nombrando el método a generar en 4D (Proxy_ConversionTasas) y haciendo clic en el botón Crear, 4D creará automáticamente un método en lenguaje 4D apto para consumir el servicio Web.

tt4_ws_wizard.gif

Método creado por el Asistente de Servicios Web de 4D

tt4_ws_metodo.gif

Analizando el método creado por 4D deducimos que este servicio Web da una respuesta en formato XML, la cual 4D se encarga de procesar para convertirla a una variable de tipo real.

Hemos podido generar estas más de 30 líneas de código sin tener grandes conocimientos de XML. Así pues, nuevamente 4D demuestra su capacidad para ahorrar nuestro tiempo escribiendo el código por nosotros.

El siguiente paso es utilizar el método creado en nuestra aplicación como una función normal, pasándole parámetros de entrada y recibiendo la respuesta generada por el Servicio Web en .NET. Aquí hemos creado un formulario donde se puede introducir el código de dos monedas (EUR y USD en el ejemplo) y devuelve la tasa de cambio actual.

tt4_conversion_ws.gif

Servicio Web de 4D a 4D

La misma lógica se puede aplicar para conectarse a un Servicio Web creado por 4D. En este segundo ejemplo, vamos a “consumir” el servicio creado en el artículo anterior Publicar Servicios Web con 4D.

La WSDL se presenta de la siguiente forma:

tt4_ws_wizard_4d.gif

Descubrimos un Servicio WS_4D con el método IP_a_Pais. Acepta una cadena como parámetro (IP) y devuelve otra cadena como resultado (País). El método proxy se genera automáticamente.

tt4_ws_metodo_4d.gif

Solo nos queda llamar al servicio Web desde un botón de formulario

tt4_dlg_ip_pais.gif

Para saber más:
http://www.4d.com/docs/V6U/V6U00064.HTM
http://es.wikipedia.org/wiki/Servicios_Web
Testimonio de uso de Servicios Web para sincronizar bases 4D

Publicado el 16 Julio, 2007 por redaccion | | Imprime este artículo
4D Stock Stalker Un navegador dentro de 4D

Deja una respuesta