我在Java中使用VI SDK编写应用程序。我当前的问题是,当我尝试将某个虚拟机标记为Template(使用markAsTemmplate()方法)时,出现错误“ com.vmware.vim25.NotSupported”,并且出现VClient错误,提示:“操作是不支持的对象”。尝试克隆虚拟机时,会发生相同的错误。

我知道这可能与您是在ESX还是VC上运行有关。

我在ESXi上运行,但是通过VClient,我可以执行克隆任务(甚至标记为模板),但是从我的应用程序中,我根本无法...

任何意见,将不胜感激。

P.s.如果有人需要查看我的代码,我也可以在这篇文章中添加。但是最主要的是看这是否完全可能。

最佳答案

如果直接连接到ESX或ESXi主机而不是vCenter实例,则此操作将失败。将虚拟机标记为模板的要求在编程上与来自vSphere Client的要求相同。

您从VI SDK中遇到了NotSupported错误,VMware文档中明确指出:

http://pubs.vmware.com/vsphere-51/topic/com.vmware.wssdk.apiref.doc/vmodl.fault.NotSupported.html


  “如果服务器上不支持该方法,则抛出该异常。并非所有方法
  在所有服务器上都受支持(例如,ESX Server主机支持
  功能比VirtualCenter服务器少)。功能可能也
  由于缺少虱子而被禁用。”

10-07 20:34