# File lib/rbvmomi/connection.rb, line 62
  def call method, desc, this, params
    fail "this is not a managed object" unless this.is_a? BasicTypes::ManagedObject
    fail "parameters must be passed as a hash" unless params.is_a? Hash
    fail unless desc.is_a? Hash

    resp = request "#{@ns}/#{@rev}" do |xml|
      emit_request xml, method, desc['params'], this, params
    end

    parse_response resp, desc['result']
  end