WEB servisai - SOAP klientas
Posted by Saulius Grigaitis
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 #!/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") 