VMware vSphere Web Services SDK编程指南(五)- 5.5 客户端应用(vSphere API 多个版本)

xiaoxiao2021-02-28  181

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 地址)、用户名和密码。

C# 示例(略)


原文: VMware vSphere 6.5 Documentation Center:Client Applications

转载请注明原文地址: https://www.6miu.com/read-46275.html

最新回复(0)