Method: RbVmomi::Connection#emit_request

Defined in:
lib/rbvmomi/connection.rb

#emit_request(xml, method, descs, this, params) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/rbvmomi/connection.rb', line 41

def emit_request xml, method, descs, this, params
  xml.tag! method, :xmlns => @ns do
    obj2xml xml, '_this', 'ManagedObject', false, this
    descs.each do |d|
      k = d['name']
      k = k.to_sym if !params.member?(k) && params.member?(k.to_sym)
      v = params[k]
      if not v == nil
        obj2xml xml, d['name'], d['wsdl_type'], d['is-array'], v
      else
        fail "missing required parameter #{d['name']}" unless d['is-optional']
      end
    end
  end
end