Как это работает
Итак, давайте разберемся как работает эта программа. Нам известно, что метод getCursOnDateXML получает на вход дату и возвращает информацию о курсе валют. Но каким образом передать методу аргумент и как интерпретировать полученный ответ? Для начала, откроем файл defaultDriver.rb и найдем в нем название интересующего нас метода: require 'default.rb' require 'defaultMappingRegistry.rb' require 'soap/rpc/driver'
class DailyInfoSoap < ::SOAP::RPC::Driver DefaultEndpointUrl = "http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx"
Methods = [ ... [ "http://web.cbr.ru/GetCursOnDateXML", "getCursOnDateXML", [ ["in", "parameters", ["::SOAP::SOAPElement", "http://web.cbr.ru/", "GetCursOnDateXML"]], ["out", "parameters", ["::SOAP::SOAPElement", "http://web.cbr.ru/", "GetCursOnDateXMLResponse"]] ], { :request_style => :document, :request_use => :literal, :response_style => :document, :response_use => :literal, :faults => {} } ], ... end end
Видно, что на вход поступает объект класса GetCursOnDateXML, а на выходе мы получаем объект класса GetCursOnDateXMLResponse. Определение этих классов находится в файле default.rb: require 'xsd/qname'
...
# {http://web.cbr.ru/}GetCursOnDateXML # on_date - SOAP::SOAPDateTime class GetCursOnDateXML attr_accessor :on_date
def initialize(on_date = nil) @on_date = on_date end end
# {http://web.cbr.ru/}GetCursOnDateXMLResponse # getCursOnDateXMLResult - # GetCursOnDateXMLResponse::GetCursOnDateXMLResult class GetCursOnDateXMLResponse
# inner class for member: GetCursOnDateXMLResult # {http://web.cbr.ru/}GetCursOnDateXMLResult class GetCursOnDateXMLResult attr_reader :__xmlele_any
def set_any(elements) @__xmlele_any = elements end
def initialize @__xmlele_any = nil end end
attr_accessor :getCursOnDateXMLResult
def initialize(getCursOnDateXMLResult = nil) @getCursOnDateXMLResult = getCursOnDateXMLResult end end
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий