# File lib/soap/wsdlDriver.rb, line 363
    def document_send(name, header_obj, body_obj)
      set_wiredump_file_base(name)
      unless op_info = @operation[name]
        raise RuntimeError, "method: #{name} not defined"
      end
      req_header = header_obj ? header_from_obj(header_obj, op_info) : nil
      req_body = body_from_obj(body_obj, op_info)
      opt = create_options({
        :soapaction => op_info.soapaction || @soapaction,
        :decode_typemap => @wsdl_types})
      env = @proxy.invoke(req_header, req_body, opt)
      raise EmptyResponseError unless env
      if env.body.fault
        raise ::SOAP::FaultError.new(env.body.fault)
      end
      res_body_obj = env.body.response ?
        Mapping.soap2obj(env.body.response, @mapping_registry) : nil
      return env.header, res_body_obj
    end