method

rpc_call

Importance_0
v1_8_7_330 - Show latest stable - 0 notes - Class: SOAP::WSDLDriver::Servant__
rpc_call(name, *values) public

No documentation

This method has no description. You can help the Ruby community by adding new notes.

Hide source
# File lib/soap/wsdlDriver.rb, line 330
    def rpc_call(name, *values)
      set_wiredump_file_base(name)
      unless op_info = @operation[name]
        raise RuntimeError, "method: #{name} not defined"
      end
      req_header = create_request_header
      req_body = create_request_body(op_info, *values)
      reqopt = create_options({
        :soapaction => op_info.soapaction || @soapaction})
      resopt = create_options({
        :decode_typemap => @rpc_decode_typemap})
      env = @proxy.route(req_header, req_body, reqopt, resopt)
      raise EmptyResponseError unless env
      receive_headers(env.header)
      begin
        @proxy.check_fault(env.body)
      rescue ::SOAP::FaultError => e
        Mapping.fault2exception(e)
      end
      ret = env.body.response ?
        Mapping.soap2obj(env.body.response, @mapping_registry) : nil
      if env.body.outparams
        outparams = env.body.outparams.collect { |outparam|
          Mapping.soap2obj(outparam)
        }
        return [ret].concat(outparams)
      else
        return ret
      end
    end
Register or log in to add new notes.