Consumiendo Web Services
Daniel Recio  Mayo 11 2009
Daniel Recio  Mayo 11 2009
Hola a tod@s.

Desde la versión 8 existe un nuevo elemento en nuestras bases de datos que nos permite consumir servicios web de forma nativa y bastante fácil de implementar.

Simplemente tendremos que importar el archivo WSDL donde vienen las definiciones del servicio web y se creará automáticamente la librería de LotusScript o de Java que podremos incorporara a nuestros desarrollos.

Veamos un ejemplo, en esta URL nos ofrecen un servicio web para probar la conversion de unidades de medida de temperatura http://www.w3schools.com/webservices/tempconvert.asmx

Image:Consumiendo Web Services

Queremos construir un consumidor de este servicio  para que nos convierta las unidades de una media a otra.

Para ello crearemos el Consumidor de Servicios Web y posteriormente un agente que lo llame pasandole el parametro correspondiente y saque el valor.
Asi que vamos a Code->Web Service Consumers y pulsamos "New Web Service Consumer"

Image:Consumiendo Web Services


Nos preguntara el nombre, el tipo si es LotusScript o Java el fichero de definicion del web service WSDL (local o URL) en este caso la URL "http://www.w3schools.com/webservices/tempconvert.asmx?WSDL" y la aplicacion donde almacenarlo

Image:Consumiendo Web Services


Este seria el resultado de la importacion del WSDL a nuestra BD, ya tenemos todas las funciones que ofrece el servicio web a nuestra disposicion.

Image:Consumiendo Web Services

Una vez tenemos el consumidor web en nuestra aplicacion podemos hacer uso de el por ejemplo en un agente. para ello tendremos que incluir el consumidor web con la sentencia USE dentro de nuestro agente

Option Public
Use "test"
Sub Initialize
       
       
       Dim info As New TempConvertSoap_n3()
       Dim dato As New XSD_STRING()
       Dim entrada As String
       entrada=Inputbox ("Escriba la temperatura en grados celsius")
       Call dato.setValueFromString(entrada)
       Set        respuesta=info.CelsiusToFahrenheit(dato)
       Msgbox respuesta.getValueAsString()+" grados Fahrenheit"
       
       
End Sub

Seguiremos profundizando en este tema.

Un Salud@

Web ServicesLotusScript

Consumiendo Web Services