5.5 vSphere API 的多个版本
本章包括以下主题:
■ 5.1 vCenter 服务器连接
■ 5.2 与 vCenter 服务器建立一个单点登录会话
■ 5.3 使用用户名和密码凭证建立一个会话
■ 5.4 Web 服务器会话令牌
■ 5.5 vSphere API 的多个版本
■ 5.6 确认服务器支持的 API 版本
■ 5.7 Sample 应用程序
接前篇从第5节开始
5.5 vSphere API 的多个版本
当客户端应用程序连接到运行在 vSphere 服务器(ESX/ESXi 或 vCenter 服务器系统)上的Web服务时,服务器检测用于开发客户端的 API 版本,只有客户端支持的操作才可用。
客户端应用使用 SOAP 消息传送 API 版本信息,然后发送到 vSphere 服务器,这些 SOAP 消息在 soapAction 属性中包含一个 versionID,这些细节由 SOAP 工具箱和客户端代理代码显式地处理。
服务器根据客户端的版本信息调整其行为,将客户端支持的 API 版本公开。
从 vSphere 4.0 开始,所支持的 API 版本信息包含在一个 XML 文件中,vimServiceVersions.xml,位于服务器上(如下的 服务版本 xml 文件)。
可以通过 URL 地址访问该文件: https://server_hostname/sdk/vimServiceVersions.xml.
Example: 服务版本文件 (vimServiceVersions.xml)
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2008-2010 VMware, Inc. All rights reserved. -->
<namespaces version="1.0">
<namespace>
<name>
urn:vim25
</name>
<version>
5.0
</version>
<priorVersions>
<version>
2.5u2
</version>
<version>
2.5
</version>
</priorVersions>
</namespace>
<namespace>
<name>
urn:vim2
</name>
<version>
2.0
</version>
</namespace>
</namespaces>
如果你开发的客户端应用必须同时支持多个服务器版本(如 ESXi 5.0 和 ESXi 5.5 等),你必须获得服务器支持的 API 版本信息,并在代码中提供基于版本信息使用或不使用的特性逻辑。
5.6 确认服务器支持的 API 版本
针对客户端应用代码需同时支持 API 多版本,一个方法是检查服务器上的服务器版本文件是否存在,如果在服务器上没有找到 vimServiceVersions.xml 文件,那这个服务器是比 ESX/ESXi 4.x、vCenter Server 4.x 还老的版本。
5.7 Java 示例应用程序
vSphere Web Services SDK 包含了 Java 和 C# 编写的示例应用程序,它演示了 vSphere API 和对象模型的特性。这里的示例程序大多没有处理异常,并且接受所有安全证书,因此,使用应用程序作为示例来提取想要查看的数据类型,但是不要在生产环境中使用帮助类,信任存储方法或异常处理技术。
Java 示例
在 vSphere Web Services SDK 中的 Java 示例包含可编译执行的 .java 文件,示例程序接收命令行参数如 vSphere 服务器名(DNS 名或 IP 地址)、用户名和密码。
原文:
VMware vSphere 6.5 Documentation Center:Client Applications