Веб Дизайн - статьи


Как это работает


Итак, давайте разберемся как работает эта программа. Нам известно, что метод 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




- Начало -  - Назад -  - Вперед -



Книжный магазин