Class | SOAP::RPC::Driver
In: | soap/rpc/driver.rb
Parent: | Object

### Methods

__attr_proxy __attr_proxy add_document_method add_document_operation add_method add_method_as add_method_with_soapaction add_method_with_soapaction_as add_rpc_method add_rpc_method_as add_rpc_method_with_soapaction add_rpc_method_with_soapaction_as add_rpc_operation call httpproxy httpproxy= inspect invoke loadproperty mandatorycharset mandatorycharset= new wiredump_dev wiredump_dev= wiredump_file_base wiredump_file_base=

### Attributes

options | [R] |
proxy | [R] |
soapaction | [RW] |

### Public Class methods

__attr_proxy(symbol, assignable = false)

[Source]

    # 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

__attr_proxy(symbol, assignable = false)

[Source]

    # File soap/rpc/driver.rb, line 40
          def __attr_proxy(symbol, assignable = false)
            name = symbol.to_s
            module_eval "def \#{name}\n@proxy.\#{name}\nend\n"
            if assignable
              module_eval "def \#{name}=(value)\n@proxy.\#{name} = value\nend\n"
            end
          end

new(endpoint_url, namespace = nil, soapaction = nil)

[Source]

    # File soap/rpc/driver.rb, line 110
      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

### Public Instance methods

add_document_method(name, soapaction, req_qname, res_qname)

[Source]

    # File soap/rpc/driver.rb, line 149
      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

add_document_operation(soapaction, name, param_def, opt = {})

[Source]

    # File soap/rpc/driver.rb, line 160
      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(name, *params)

Alias for add_rpc_method

add_method_as(name, name_as, *params)

Alias for add_rpc_method_as

add_method_with_soapaction(name, soapaction, *params)

Alias for add_rpc_method_with_soapaction

add_method_with_soapaction_as(name, name_as, soapaction, *params)

Alias for add_rpc_method_with_soapaction_as

add_rpc_method(name, *params)

[Source]

    # File soap/rpc/driver.rb, line 124
      def add_rpc_method(name, *params)
        add_rpc_method_with_soapaction_as(name, name, @soapaction, *params)
      end

add_rpc_method_as(name, name_as, *params)

[Source]

    # File soap/rpc/driver.rb, line 128
      def add_rpc_method_as(name, name_as, *params)
        add_rpc_method_with_soapaction_as(name, name_as, @soapaction, *params)
      end

add_rpc_method_with_soapaction(name, soapaction, *params)

[Source]

    # File soap/rpc/driver.rb, line 132
      def add_rpc_method_with_soapaction(name, soapaction, *params)
        add_rpc_method_with_soapaction_as(name, name, soapaction, *params)
      end

add_rpc_method_with_soapaction_as(name, name_as, soapaction, *params)

[Source]

    # File soap/rpc/driver.rb, line 136
      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

add_rpc_operation(qname, soapaction, name, param_def, opt = {})

[Source]

    # File soap/rpc/driver.rb, line 155
      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

call(name, *params)

[Source]

    # File soap/rpc/driver.rb, line 178
      def call(name, *params)
        set_wiredump_file_base(name)
        @proxy.call(name, *params)
      end

httpproxy()

[Source]

    # File soap/rpc/driver.rb, line 78
      def httpproxy
        options["protocol.http.proxy"]
      end

httpproxy=(httpproxy)

[Source]

    # File soap/rpc/driver.rb, line 82
      def httpproxy=(httpproxy)
        options["protocol.http.proxy"] = httpproxy
      end

inspect()

[Source]

    # File soap/rpc/driver.rb, line 74
      def inspect
        "#<#{self.class}:#{@proxy.inspect}>"
      end

invoke(headers, body)

[Source]

    # File soap/rpc/driver.rb, line 165
      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

loadproperty(propertyname)

[Source]

    # File soap/rpc/driver.rb, line 118
      def loadproperty(propertyname)
        unless options.loadproperty(propertyname)
          raise LoadError.new("No such property to load -- #{propertyname}")
        end
      end

mandatorycharset()

[Source]

    # File soap/rpc/driver.rb, line 94
      def mandatorycharset
        options["protocol.mandatorycharset"]
      end

mandatorycharset=(mandatorycharset)

[Source]

    # File soap/rpc/driver.rb, line 98
      def mandatorycharset=(mandatorycharset)
        options["protocol.mandatorycharset"] = mandatorycharset
      end

wiredump_dev()

[Source]

    # File soap/rpc/driver.rb, line 86
      def wiredump_dev
        options["protocol.http.wiredump_dev"]
      end

wiredump_dev=(wiredump_dev)

[Source]

    # File soap/rpc/driver.rb, line 90
      def wiredump_dev=(wiredump_dev)
        options["protocol.http.wiredump_dev"] = wiredump_dev
      end

wiredump_file_base()

[Source]

    # File soap/rpc/driver.rb, line 102
      def wiredump_file_base
        options["protocol.wiredump_file_base"]
      end

wiredump_file_base=(wiredump_file_base)

[Source]

    # File soap/rpc/driver.rb, line 106
      def wiredump_file_base=(wiredump_file_base)
        options["protocol.wiredump_file_base"] = wiredump_file_base
      end

[Validate]