# File soap/rpc/driver.rb, line 27 def __attr_proxy(symbol, assignable = false) name = symbol.to_s define_method(name) { @proxy.__send__(name) } if assignable aname = name + '=' define_method(aname) { |rhs| @proxy.__send__(aname, rhs) } end end
# File soap/rpc/driver.rb, line 108 def initialize(endpoint_url, namespace = nil, soapaction = nil) @namespace = namespace @soapaction = soapaction @options = setup_options @wiredump_file_base = nil @proxy = Proxy.new(endpoint_url, @soapaction, @options) end
# File soap/rpc/driver.rb, line 147 def add_document_method(name, soapaction, req_qname, res_qname) param_def = SOAPMethod.create_doc_param_def(req_qname, res_qname) @proxy.add_document_method(soapaction, name, param_def) add_document_method_interface(name, param_def) end
# File soap/rpc/driver.rb, line 158 def add_document_operation(soapaction, name, param_def, opt = {}) @proxy.add_document_operation(soapaction, name, param_def, opt) add_document_method_interface(name, param_def) end
#add_method is for shortcut of typical rpc/encoded method definition.
# File soap/rpc/driver.rb, line 122 def add_rpc_method(name, *params) add_rpc_method_with_soapaction_as(name, name, @soapaction, *params) end
# File soap/rpc/driver.rb, line 126 def add_rpc_method_as(name, name_as, *params) add_rpc_method_with_soapaction_as(name, name_as, @soapaction, *params) end
# File soap/rpc/driver.rb, line 130 def add_rpc_method_with_soapaction(name, soapaction, *params) add_rpc_method_with_soapaction_as(name, name, soapaction, *params) end
# File soap/rpc/driver.rb, line 134 def add_rpc_method_with_soapaction_as(name, name_as, soapaction, *params) param_def = SOAPMethod.create_rpc_param_def(params) qname = XSD::QName.new(@namespace, name_as) @proxy.add_rpc_method(qname, soapaction, name, param_def) add_rpc_method_interface(name, param_def) end
# File soap/rpc/driver.rb, line 153 def add_rpc_operation(qname, soapaction, name, param_def, opt = {}) @proxy.add_rpc_operation(qname, soapaction, name, param_def, opt) add_rpc_method_interface(name, param_def) end
# File soap/rpc/driver.rb, line 176 def call(name, *params) set_wiredump_file_base(name) @proxy.call(name, *params) end
# File soap/rpc/driver.rb, line 76 def httpproxy options["protocol.http.proxy"] end
# File soap/rpc/driver.rb, line 80 def httpproxy=(httpproxy) options["protocol.http.proxy"] = httpproxy end
# File soap/rpc/driver.rb, line 72 def inspect "#<#{self.class}:#{@proxy.inspect}>" end
# File soap/rpc/driver.rb, line 163 def invoke(headers, body) if headers and !headers.is_a?(SOAPHeader) headers = create_header(headers) end set_wiredump_file_base(body.elename.name) env = @proxy.invoke(headers, body) if env.nil? return nil, nil else return env.header, env.body end end
# File soap/rpc/driver.rb, line 116 def loadproperty(propertyname) unless options.loadproperty(propertyname) raise LoadError.new("No such property to load -- #{propertyname}") end end
# File soap/rpc/driver.rb, line 92 def mandatorycharset options["protocol.mandatorycharset"] end
# File soap/rpc/driver.rb, line 96 def mandatorycharset=(mandatorycharset) options["protocol.mandatorycharset"] = mandatorycharset end
# File soap/rpc/driver.rb, line 84 def wiredump_dev options["protocol.http.wiredump_dev"] end
# File soap/rpc/driver.rb, line 88 def wiredump_dev=(wiredump_dev) options["protocol.http.wiredump_dev"] = wiredump_dev end