VMware Virtual Infrastructure SDK 1.x FAQs

What is the VMware SDK?
The same virtual infrastructure services available through the VirtualCenter client are also available through the VirtualCenter Web service interface.  This means that customer written and third party applications have access to capabilities such as
  • Host and virtual machine inventory
  • Power operations
  • Create and delete virtual machines
  • Deploy from template
  • Modify resource allocations
  • Performance data on all virtual machines and hosts
  • VMotion
  • Snapshot and revert operations

Customers and partners that want to write programs that use the VirtualCenter Web service should download the VMware SDK package. This package contains interface definitions, detailed documentation and sample code.

How do I get the SDK package?
The SDK package file is available here.

Does the SDK package need to be loaded on the same machine as VirtualCenter?
No. The SDK package is for developers writing programs that use the VirtualCenter Web service interface. It can be downloaded and used on any machine. However, the sample applications must be run on a machine with network access to the VirtualCenter Web service.

Can I access the VirtualCenter Web service through a Web browser?
As a tool to quickly verify that the VirtualCenter Web service is operating correctly, and as a tool to debug applications that use the Web service, the VirtualCenter Web service accepts connections from standard Web browsers. However, for security reasons, unless a special configuration option is set, only browsers on the same host as VirtualCenter can get access.See the section “Verifying the VirtualCenter Web Service Installation” in the VMware VirtualCenter User's Manual for details.

Can I use a non-SSL port with the VirtualCenter Web service?
Yes. Click here for the procedure.

Can I use VMware sample code in my own programs?
You are free to create derivative works of the sample code, but VMware does not support the sample code and makes no guarantees about it.

What programming language and Web services toolkit should I use to access the VirtualCenter Web service?
One of the advantages of Web services is that they are language-agnostic; any programming language may be used to access the interface. In practice, an adequate Web services toolkit must be available. The SDK package includes sample code in Java using both the Axis and WSDK toolkits, in C# and Visual Basic using Visual Studio .NET, and in Perl. However, developers are free to use any language and toolkit that they choose.

How do I generate proxy code for Microsoft Visual Studio .NET?
Microsoft Visual Studio .NET includes a tool for generating proxy code called wsdl.exe. This tool does not correctly generate code with some WSDL files, including our vma.wsdl. (For more information, refer to support.microsoft.com/default.aspx?scid=kb;en-us;326790.

Therefore, we’ve included our own proxy code generator, wsdlProxyGen.exe in the VMware SDK package. This tool has a simple GUI interface and clients can use wsdlProxyGen.exe to generate stubs from the WSDL file. However, we do not guarantee that this tool works for WSDL files other than vma.wsdl. Read SDK/SDK-README.html in the VMware SDK package for additional information about wsdlProxyGen.exe.

Can I program in Perl with the VMware SDK?
Yes, with any SDK package released on or after September 16, 2004. This package includes Perl samples and an updated Virtual Infrastructure SDK Programming Guide, with information about the Perl developer environment, and descriptions of all the Perl samples.

What is the relationship between the VMware SDK and the Perl and COM APIs available for ESX Server and GSX Server?
VMware supports legacy Perl and COM scripting interfaces on ESX Server and GSX Server. These are not part of the VMware SDK. For access to the widest range of virtual infrastructure services, VMware encourages developers to use the VMware SDK.

How often does the VMware SDK change?
The VirtualCenter Web service is part of VirtualCenter, so new versions of the Web service will be released whenever that product is released. While the features and functionality of the Web service will evolve, every effort will be made to maintain backwards compatibility. New versions of the SDK package, on the other hand, are not tied to releases of VirtualCenter or to any other VMware product.

To make sure that you have all the latest tools and samples, it is a good idea to check the VMware Web site on a monthly basis.

When using the CloneVM operation, can I customize my newly cloned virtual machine?
Yes. The client has an option to customize the identity and network settings of a guest operating system, so that the new virtual machine can begin work immediately in the target environment. Clients control customization by setting the fields of a customization object and passing it as a parameter in the CloneVM operation. Details of the guest customization data model are available in the Virtual Infrastructure SDK Reference Guide.

Can I manage both ESX Server and GSX Server using the VirtualCenter Web service?
Yes. Beginning with the VirtualCenter 1.2 release, the Web service interface supports the management of GSX Server hosts, as well as ESX Server hosts.

How do I get information about installing and running the VirtualCenter Web service?
The VirtualCenter User's Manual documents how to install the VirtualCenter Web service and verify that it is operating correctly. In addition, an FAQ that describes using the Web service is available here.