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

来源:互联网 发布:在线视频直播网站源码 编辑:程序博客网 时间:2024/05/19 22:59

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

阅读全文
0 0
原创粉丝点击