参考VMWare的Webservice API的文档,连接到ESX|ESXi主机。
版本: ESX|ESXi 4.0
JAVA代码如下:
查看纯文本复制到剪贴板打印?
导入java.net.URL;
导入 com.vmware.vim25.ManagedObjectReference;
导入 com.vmware.vim25.ServiceContent;
导入 com.vmware.vim25.VimPortType;
导入 com.vmware.vim25.VimServiceLocator;
/**
* 获取到VMWare ESX或ESXi的连接
* ESX | ESXi版本:4.0
* @author forandever
* @日期 2009-12-29
*
*/
公共类 ServerConn {
私有 ManagedObjectReference _svcRef;
私有 VimServiceLocator _locator;
私有 VimPortType _service;
私人服务内容_原文如此;
私有 void createServiceRef() 抛出异常 {
_svcRef = 新的 ManagedObjectReference();
_svcRef.setType("服务实例");
_svcRef.set_value("ServiceInstance");
}
公共无效准备(字符串主机名,字符串用户名,字符串密码)抛出异常{
System.setProperty("axis.socketSecureFactory", "org.apache.axis.components.net.SunFakeTrustSocketFactory");
String url = "https://" + 主机名 + "/sdk/vimService";
创建服务引用();
_locator = new VimServiceLocator();
_locator.setMaintainSession(true);
_service = _locator.getVimPort(新 URL(url));
_sic = _service.retrieveServiceContent(_svcRef);
if (_sic.getSessionManager() != null) {
_service.login(_sic.getSessionManager(), 用户名, 密码, null);
}
System.out.println(_sic.getAbout().getFullName());
System.out.println("API 类型为 " + _sic.getAbout().getApiType());
System.out.println("API版本为" + _sic.getAbout().getApiVersion());
}
公共 ManagedObjectReference get_svcRef() {
返回_svcRef;
}
公共无效set_svcRef(ManagedObjectReference ref){
_svcRef = 参考;
}
公共 VimServiceLocator get_locator() {
返回_定位器;
}
公共无效 set_locator(VimServiceLocator _locator) {
this._locator = _locator;
}
公共 VimPortType get_service() {
返回_服务;
}
公共无效 set_service(VimPortType _service) {
这个._service = _service;
}
公共 ServiceContent get_sic() {
返回_原文;
}
公共无效set_sic(ServiceContent _sic){
这._sic = _sic;
}
/**
* @参数参数
*/
公共静态无效主(字符串[] args){
// TODO 自动生成的方法存根
}
}
导入java.net.URL;
导入 com.vmware.vim25.ManagedObjectReference;
导入 com.vmware.vim25.ServiceContent;
导入 com.vmware.vim25.VimPortType;
导入 com.vmware.vim25.VimServiceLocator;
/**
* 获取到VMWare ESX或ESXi的连接
* ESX | ESXi版本:4.0
* @author forandever
* @日期 2009-12-29
*
*/
公共类 ServerConn {
私有 ManagedObjectReference _svcRef;
私有 VimServiceLocator _locator;
私有 VimPortType _service;
私人服务内容_原文如此;
私有 void createServiceRef() 抛出异常 {
_svcRef = 新的 ManagedObjectReference();
_svcRef.setType("服务实例");
_svcRef.set_value("ServiceInstance");
}
公共无效准备(字符串主机名,字符串用户名,字符串密码)抛出异常{
System.setProperty("axis.socketSecureFactory", "org.apache.axis.components.net.SunFakeTrustSocketFactory");
String url = "https://" + 主机名 + "/sdk/vimService";
创建服务引用();
_locator = new VimServiceLocator();
_locator.setMaintainSession(true);
_service = _locator.getVimPort(新 URL(url));
_sic = _service.retrieveServiceContent(_svcRef);
if (_sic.getSessionManager() != null) {
_service.login(_sic.getSessionManager(), 用户名, 密码, null);
}
System.out.println(_sic.getAbout().getFullName());
System.out.println("API 类型为 " + _sic.getAbout().getApiType());
System.out.println("API版本为" + _sic.getAbout().getApiVersion());
}
公共 ManagedObjectReference get_svcRef() {
返回_svcRef;
}
公共无效set_svcRef(ManagedObjectReference ref){
_svcRef = 参考;
}
公共 VimServiceLocator get_locator() {
返回_定位器;
}
公共无效 set_locator(VimServiceLocator _locator) {
this._locator = _locator;
}
公共 VimPortType get_service() {
返回_服务;
}
公共无效 set_service(VimPortType _service) {
这个._service = _service;
}
公共 ServiceContent get_sic() {
返回_原文;
}
公共无效set_sic(ServiceContent _sic){
这._sic = _sic;
}
/**
* @参数参数
*/
公共静态无效主(字符串[] args){
// TODO 自动生成的方法存根
}
}
@forandever 2009-12-31
本文来自CSDN博客,转载请标明出处:http: //blog.csdn.net/forandever/archive/2009/12/30/5105459.aspx
-