WEB servisai - SOAP klientas

Posted by Saulius Grigaitis Sat, 14 Jul 2007 19:30:00 GMT

Sveiki! Kad ir kaip mėgstame ir žavimės "REST'u" ir "ActiveResource'u", labai daug naudingų WEB servisų naudoją kitus protokolus, pavyzdžiui SOAP. Šįkart trumpai apie tai, kaip lengvai galima pasiekti WEB servisą SOAP protokolu, naudojantis Ruby priemonėmis. Standartinėje Ruby bibliotekoje priemonės SOAP'ui yra gerokai pasenusios, tad verta naudotis "soap4r" "gem'u". Šiuo metu stabili versija yra 1.5.6.

gem install soap4r --source http://dev.ctor.org/download/ --version 1.5.6
Belieka susirasti norimo WEB serviso aprašą WSDL formatu ir pasirašyti paprastą scriptą:
#!/usr/bin/env ruby

require 'soap/rpc/driver'
require 'soap/wsdlDriver'

driver = SOAP::WSDLDriverFactory.new("wsdl_failo_url").create_rpc_driver

#klaidų ieškojimo rėžime(su "-d" raktu ruby interpretoriui) spausdiname visą "dump'ą"

driver.wiredump_dev = STDERR if $DEBUG
                       
#parametrai "hash'e" iš argumentų raktų ir jų reikšmų, informacijos apie tai galima rasti dominančio WEB serviso API dokumentacijoje
@results = driver.lc(:arg1 => "argumentas", :arg2 => "argumentas")
Iki!

Tags , , ,  | no comments | no trackbacks