通过VMWare的Webservice API连接ESX|ESXi主机的JAVA源码
作者:互联网
2009-12-30
参考VMWare的Webservice API的文档,连接到ESX|ESXi主机。
版本: ESX|ESXi 4.0
JAVA代码如下:
view plaincopy to clipboardprint?
import java.net.URL;
import com.vmware.vim25.ManagedObjectReference;
import com.vmware.vim25.ServiceContent;
import com.vmware.vim25.VimPortType;
import com.vmware.vim25.VimServiceLocator;
/**
* 获取到VMWare ESX or ESXi的连接
* ESX | ESXi版本:4.0
* @author forandever
* @date 2009-12-29
*
*/
public class ServerConn {
private ManagedObjectReference _svcRef;
private VimServiceLocator _locator;
private VimPortType _service;
private ServiceContent _sic;
private void createServiceRef() throws Exception {
_svcRef = new ManagedObjectReference();
_svcRef.setType("ServiceInstance");
_svcRef.set_value("ServiceInstance");
}
public void prepare(String hostName, String userName, String password) throws Exception {
System.setProperty("axis.socketSecureFactory", "org.apache.axis.components.net.SunFakeTrustSocketFactory");
String url = "https://" + hostName + "/sdk/vimService";
createServiceRef();
_locator = new VimServiceLocator();
_locator.setMaintainSession(true);
_service = _locator.getVimPort(new URL(url));
_sic = _service.retrieveServiceContent(_svcRef);
if (_sic.getSessionManager() != null) {
_service.login(_sic.getSessionManager(), userName, password, null);
}
System.out.println(_sic.getAbout().getFullName());
System.out.println("API type is " + _sic.getAbout().getApiType());
System.out.println("API version is " + _sic.getAbout().getApiVersion());
}
public ManagedObjectReference get_svcRef() {
return _svcRef;
}
public void set_svcRef(ManagedObjectReference ref) {
_svcRef = ref;
}
public VimServiceLocator get_locator() {
return _locator;
}
public void set_locator(VimServiceLocator _locator) {
this._locator = _locator;
}
public VimPortType get_service() {
return _service;
}
public void set_service(VimPortType _service) {
this._service = _service;
}
public ServiceContent get_sic() {
return _sic;
}
public void set_sic(ServiceContent _sic) {
this._sic = _sic;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
import java.net.URL;
import com.vmware.vim25.ManagedObjectReference;
import com.vmware.vim25.ServiceContent;
import com.vmware.vim25.VimPortType;
import com.vmware.vim25.VimServiceLocator;
/**
* 获取到VMWare ESX or ESXi的连接
* ESX | ESXi版本:4.0
* @author forandever
* @date 2009-12-29
*
*/
public class ServerConn {
private ManagedObjectReference _svcRef;
private VimServiceLocator _locator;
private VimPortType _service;
private ServiceContent _sic;
private void createServiceRef() throws Exception {
_svcRef = new ManagedObjectReference();
_svcRef.setType("ServiceInstance");
_svcRef.set_value("ServiceInstance");
}
public void prepare(String hostName, String userName, String password) throws Exception {
System.setProperty("axis.socketSecureFactory", "org.apache.axis.components.net.SunFakeTrustSocketFactory");
String url = "https://" + hostName + "/sdk/vimService";
createServiceRef();
_locator = new VimServiceLocator();
_locator.setMaintainSession(true);
_service = _locator.getVimPort(new URL(url));
_sic = _service.retrieveServiceContent(_svcRef);
if (_sic.getSessionManager() != null) {
_service.login(_sic.getSessionManager(), userName, password, null);
}
System.out.println(_sic.getAbout().getFullName());
System.out.println("API type is " + _sic.getAbout().getApiType());
System.out.println("API version is " + _sic.getAbout().getApiVersion());
}
public ManagedObjectReference get_svcRef() {
return _svcRef;
}
public void set_svcRef(ManagedObjectReference ref) {
_svcRef = ref;
}
public VimServiceLocator get_locator() {
return _locator;
}
public void set_locator(VimServiceLocator _locator) {
this._locator = _locator;
}
public VimPortType get_service() {
return _service;
}
public void set_service(VimPortType _service) {
this._service = _service;
}
public ServiceContent get_sic() {
return _sic;
}
public void set_sic(ServiceContent _sic) {
this._sic = _sic;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
@forandever 2009-12-31
本文来自CSDN博客,转载请标明出处:
-
相关标签:
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
Spring AI 核心原理解析:基于 1.1.4 版本拆解底层架构
华为 IODT 设备接入
自定义跨字段校验必填注解
别再System.out了!这份SpringBoot日志优雅指南,让你告别日志混乱
SpringBoot - Actuator与监控
数据库安全第一关:用户密码存储与认证机制的深度拆解
OpenCode 20 个斜杠命令,90% 的人只用过 3 个
【从0到1构建一个ClaudeAgent】规划与协调-任务系统
BlockingQueue详解
附源码:三原管理系统新增俩种常用布局
AI精选
