參考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
-