Sha256: 9c050fcd71d26a090350140fb9d020ee48b6f4904eaadee1a7a0bdbca609e763

Contents?: true

Size: 950 Bytes

Versions: 1

Compression:

Stored size: 950 Bytes

Contents

# Copyright (c) 2011-2017 VMware, Inc.  All Rights Reserved.
# SPDX-License-Identifier: MIT

module RbVmomi

class VIM::ReflectManagedMethodExecuter
  def fetch moid, prop
    result = FetchSoap(:moid => moid, :version => 'urn:vim25/6.0', :prop => prop)
    xml = Nokogiri(result.response)
    _connection.deserializer.deserialize xml.root, nil
  end

  def execute moid, method, args
    soap_args = args.map do |k,v|
      VIM::ReflectManagedMethodExecuterSoapArgument.new.tap do |soap_arg|
        soap_arg.name = k
        xml = Builder::XmlMarkup.new :indent => 0
        _connection.obj2xml xml, k, :anyType, false, v
        soap_arg.val = xml.target!
      end
    end
    result = ExecuteSoap(:moid => moid, :version => 'urn:vim25/6.0',
                         :method => method, :argument => soap_args)
    if result
      _connection.deserializer.deserialize Nokogiri(result.response).root, nil
    else
      nil
    end
  end
end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rbvmomi-1.9.5 lib/rbvmomi/vim/ReflectManagedMethodExecuter.rb