VMWare の Web サービス 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 {
プライベート管理対象オブジェクト参照 _svcRef;
プライベート VimServiceLocator _locator;
プライベート VimPortType _service;
プライベート ServiceContent _sic;
private void createServiceRef() が例外をスローする {
_svcRef = 新しい管理対象オブジェクト参照();
_svcRef.setType("サービスインスタンス");
_svcRef.set_value("サービスインスタンス");
}
public void prepare(String hostName, String userName, String password) throws Exception {
System.setProperty("axis.socketSecureFactory", "org.apache.axis.components.net.SunFakeTrustSocketFactory");
文字列 URL = "https://" + ホスト名 + "/sdk/vimService";
createServiceRef();
_locator = 新しい 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());
}
public ManagedObjectReference get_svcRef() {
_svcRef を返す;
}
public void set_svcRef(ManagedObjectReference ref) {
_svcRef = 参照;
}
public VimServiceLocator get_locator() {
_ロケーターを返す;
}
public void set_locator(VimServiceLocator _locator) {
this._locator = _locator;
}
public VimPortType get_service() {
_サービスを返す;
}
public void set_service(VimPortType _service) {
this._service = _service;
}
public ServiceContent get_sic() {
戻ります _sic;
}
public void set_sic(ServiceContent _sic) {
this._sic = _sic;
}
/**
* @param 引数
*/
public static void main(String[] 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 {
プライベート管理対象オブジェクト参照 _svcRef;
プライベート VimServiceLocator _locator;
プライベート VimPortType _service;
プライベート ServiceContent _sic;
private void createServiceRef() が例外をスローする {
_svcRef = 新しい管理対象オブジェクト参照();
_svcRef.setType("サービスインスタンス");
_svcRef.set_value("サービスインスタンス");
}
public void prepare(String hostName, String userName, String password) throws Exception {
System.setProperty("axis.socketSecureFactory", "org.apache.axis.components.net.SunFakeTrustSocketFactory");
文字列 URL = "https://" + ホスト名 + "/sdk/vimService";
createServiceRef();
_locator = 新しい 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());
}
public ManagedObjectReference get_svcRef() {
_svcRef を返す;
}
public void set_svcRef(ManagedObjectReference ref) {
_svcRef = 参照;
}
public VimServiceLocator get_locator() {
_ロケーターを返す;
}
public void set_locator(VimServiceLocator _locator) {
this._locator = _locator;
}
public VimPortType get_service() {
_サービスを返す;
}
public void set_service(VimPortType _service) {
this._service = _service;
}
public ServiceContent get_sic() {
戻ります _sic;
}
public void set_sic(ServiceContent _sic) {
this._sic = _sic;
}
/**
* @param 引数
*/
public static void main(String[] args) {
// TODO 自動生成されたメソッド スタブ
}
}
@forandever 2009-12-31
本書来源:CSDN 博客、转下请标明出处: http://blog.csdn.net/forandever/archive/2009/12/30/5105459.aspx
-