miércoles, 20 de marzo de 2013

Consultando servicios web con savon (ejemplo)



Creando cliente para servicio Whois:


require 'savon'

 client = Savon.client(wsdl:'http://www.webservicex.net/whois.asmx?WSDL',proxy: 'http://<usuario>:<password>@host:port')

El segundo parámetro puede omitirse si no estás tras un proxy.

Para ver las operaciones disponibles por el servicio web:

client.operations 
-> [:get_who_is]

Esta operación recibe como parámetro el HostName. Esto no lo pude consultar con savon, tuve que hacerlo con la especificación del servicio.

response = client.call(:get_who_is, message:{"HostName"=>"www.google.com"})

Creando cliente para servicio de estadísticas: 

client = Savon.client(wsdl:'http://www.webservicex.net/Statistics.asmx?WSDL', proxy: 'http://<usuario>:<password>@host:port')

client.operations
-> [:get_statistics]

parameters = ["double"=>[1.0, 2.0]]

response = client.call(:get_statistics, message:{"X"=>parameters})

response.body
-> {:get_statistics_response=>{:sums=>"3", :average=>"1.5", :standard_deviation=
>"0.5", :skewness=>"0.5", :kurtosis=>"-2.5", :@xmlns=>"http://www.webserviceX.NE
T"}}


No hay comentarios:

Publicar un comentario