Ruby On Rails in UA Icon_home Главная Add to bookmarks Translate translate Profile Войти
Регистрация Форум Блоги Пользователи Список джемов Rails проекты      Поиск   

Ruby On Rails in UA/RJS, Ajax, WEB 2.0, CSS, JAVASCRIPT/Создание SOAP клиента

2008-06-10 01:28:05 Ответить  
Shat
Vladimir Shatorkin
Адрес: Ukraine, Odessa
Сообщений: 8
Регистр: 2007-03-16
его блог 0 сообщ.
Создание SOAP клиента
  •  
Всем привет.
В общем ситуация - есть сервер куда надо стучаться с помощью soap.
Я знаю host, soapaction и параметр этого соап экшина.
уложился в три строки
require 'soap/rpc/driver' - эта строка не считается :)
soap = SOAP::RPC::Driver.new('урл хоста')
soap.add_rpc_method_with_soapaction('имя метода который я буду вызывать','урл соап экшина', 'string') -- в чём тайный смысл третьего параметра - хз я думаю тип передаваемого параметра, в доке было 'symbol' но они использовали add_method
и третья строка
soap.rec(' Вот и три строки
Ответ сервака получил - вроде похожий на правду.
2008-10-22 10:46:15 Ответить  
wayfinder
wayfinder
Адрес:
Сообщений: 15
Регистр: 2008-07-19
его блог 0 сообщ.
RE: Создание SOAP клиента
  •  
Спасибо. Но я на нельзя ли тут показать практический пример доступа к веб сервису? Пробовал сервис обмена валют http://www.xmethods.net/ve2/ViewListing.po?key=uuid:1F23EF75-53E0-24AE-A545-D1A0972D0D40 . Тут вроде описание методов к нему http://www.xmethods.net/ve2/WSDLAnalyzer.po
Вот мой код
require 'soap/rpc/driver'

soap = SOAP::RPC::Driver.new('http://trial.serviceobjects.com/ce/CurrencyExchange.asmx?WSDL')
soap.add_rpc_method_with_soapaction('GetAllCurrencies','http://www.serviceobjects.com/GetAllCurrencies', 'document')
ans = soap.GetAllCurrencies("GetAllCurrenciesSoapIn")
p ans
Получаю вот что
>

Похоже там надо предоставить @ClientKey. Может кто- то какой - то другой вариант сможет показать... Спасибо
2008-10-22 12:18:57 Ответить  
wayfinder
wayfinder
Адрес:
Сообщений: 15
Регистр: 2008-07-19
его блог 0 сообщ.
RE: Создание SOAP клиента
  •  
endpoint = 'http://www.xurrency.com/servidor_soap.php'
proxy = SOAP::RPC::Driver.new(endpoint)
proxy.add_method('getValue', 'amount', 'base', 'target')
rate = proxy.getValue('1','eur','usd')
puts "Rate: #{rate}"
Назадназад Новыйновый Ответитьответить
Ключевые слова:
Гости: 147 Онлайн: 0
Rambler's Top100
О проекте по всем вопросам обращайтесь на support
Rubyclub.com.ua Copyright © 2007 - 2008