Witam
Proszę Was o pomoc bo próbuję coś zrobić przy pomocy soap4r wydaje mi się że jest to jedyna biblioteka która umożliwia tworzenie klientów SOAP dla Ruby.Używam obecnie środowiska 3rd rail który jest chyba najlepszy ze znanych mi (ze względu na podpowiedzi). Mam zainstalowany soap4r 1.8.5.Próbowałem różnych przykładów z sieci, żaden nie działa!
Wpisałem na przykład coś takiego:
[code]#Require The Library
require ‘soap/rpc/driver’
#Connections
endpoint = ‘http://xurrency.com/servidor_soap.php?wsdl’
proxy = SOAP::RPC::Driver.new(endpoint)
#Add Method
proxy.add_method(‘getValue’, ‘amount’, ‘base’, ‘target’)
#Call API Method and Get Exchange Rate
rate = proxy.getValue(‘1’,‘usd’,‘eur’)
puts ‘Rate: #{rate}’[/code]
Kiedy wpisuję rate=proxy.(tutaj pokazuje się lista) w spisie nie ma funkcji “getValue” wogóle jakby nie istniała.Przykład wg autora działa u mnie wywołuje długą listę błędów.
Inny przykład:
[code]#Requires Ruby version 1.8.5 or highet
require ‘soap/wsdlDriver’
require ‘pp’
wsdl = ‘http://webservices.daehosting.com/services/isbnservice.wso?WSDL’
driver = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
Log SOAP request and response
driver.wiredump_file_base = “soap-log.txt”
response = driver.IsValidISBN13(:sISBN => ‘1111111111111’)
#pp(response)
puts response.isValidISBN13Result[/code]
Chyba działa, dostaję odpowiedź “false”,ale podpowiedzi po kropce właściwej też nie ma.Może ja coś źle wpisuję?
Inny przykład:
[code]login=‘hhhhhh’
password=‘uuuuuuu’
cc=1
key=‘iiiiiiii’
require ‘soap/wsdlDriver’
wsdl_url=‘http://webapi.allegro.pl/uploader.php?wsdl’
proxy=SOAP::WSDLDriverFactory.new(wsdl_url).create_rpc_driver
wer=proxy.doQuerySysStatus(1,1,key)
t=proxy.doLogin(login,password,cc,key,wer)
puts t[/code]
Nie ma podpowiedzi tradycyjnie no i nic nie działa.Podaję listę błędów:
[color=red]
C:/TurboRDK/lib/ruby/1.8/soap/rpc/proxy.rb:487:in instance_variable_set':
@country-id’ is not allowed as an instance variable name (NameError)
from C:/TurboRDK/lib/ruby/1.8/soap/rpc/proxy.rb:487:in create_request_obj' from C:/TurboRDK/lib/ruby/1.8/soap/rpc/proxy.rb:393:in
request_rpc_enc’
from C:/TurboRDK/lib/ruby/1.8/soap/rpc/proxy.rb:376:in request_rpc' from C:/TurboRDK/lib/ruby/1.8/soap/rpc/proxy.rb:338:in
request_body’
from C:/TurboRDK/lib/ruby/1.8/soap/rpc/proxy.rb:123:in call' from C:/TurboRDK/lib/ruby/1.8/soap/rpc/driver.rb:178:in
call’
from C:/TurboRDK/lib/ruby/1.8/soap/rpc/driver.rb:232:in `doQuerySysStatus’
from C:/Users/hubert/3rdRail/workspace/r1/rs1.rb:9
[/color]
Co robić żeby to działało ? Szczególnie zależy mi na tym ostatnim przykładzie. Proszę o jakieś wskazówki.Pozdrawiam.hop.