/** * Establishes session with the virtual center server. * * @throws Exception the exception */ private static void connect() throws Exception { HostnameVerifier hv = new HostnameVerifier() { public boolean verify(String urlHostName, SSLSession session) { return true; } }; trustAllHttpsCertificates(); HttpsURLConnection.setDefaultHostnameVerifier(hv); SVC_INST_REF.setType(SVC_INST_NAME); SVC_INST_REF.setValue(SVC_INST_NAME); vimService = new VimService(); vimPort = vimService.getVimPort(); Map<String, Object> ctxt = ((BindingProvider) vimPort).getRequestContext(); ctxt.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, url); ctxt.put(BindingProvider.SESSION_MAINTAIN_PROPERTY, true); serviceContent = vimPort.retrieveServiceContent(SVC_INST_REF); boolean isVCApi = checkApiType(serviceContent); if (!isVCApi) { System.out.println("Virtual Center is not supported"); System.exit(0); } headers = (Map) ((BindingProvider) vimPort) .getResponseContext() .get(MessageContext.HTTP_RESPONSE_HEADERS); vimPort.login(serviceContent.getSessionManager(), userName, password, null); isConnected = true; rootRef = serviceContent.getRootFolder(); propCollectorRef = serviceContent.getPropertyCollector(); }
/** * Disconnects the user session. * * @throws Exception */ private static void disconnect() throws Exception { if (isConnected) { vimPort.logout(serviceContent.getSessionManager()); } isConnected = false; }