2014-03-12 5 views
0

У меня есть продукт xenserver с открытым кодом (от xenserver.org). Мне нужно удаленное подключение к виртуальной машине с Java-кода. Например, для дистанционной перезагрузки. Я нашел SDK «Начнем с API» http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/sdk.html, но я не понимаю, как подключиться к удаленному серверу. Какой IP должен быть в коде ?:Удаленный доступ к XenServer Java

Connection connection = new Connection(new URL("https://what_ip?")); 
System.out.println(connection.getAPIVersion()); 
System.out.println(connection.getSessionReference()); 
+0

Если ваш vm работает на vsphere, чем использовать vijava.jar [с открытым исходным кодом] или vim.jar [предоставляется vmware]. Awesome API для подключения к vsphere vm и выполнения нескольких операций на машинах. Вы могли бы потребовать много борьбы в исходном, если вы не знаете о среде vsphere. –

+0

Спасибо за ответ. Но я не использую vsphere. Я использую citrix xen (http://www.xenserver.org/) – jonua

ответ

0

Без читать документацию XenServer, я бы сказал вам, что вы должны использовать ваш публичный IP или субдомен, который xenserver.org дает вам. И вам нужно создать сеанс с параметрами аутентификации: user/password. Этот форум может помочь вам:

http://discussions.citrix.com/topic/349096-xenserver-java-remote-access/

+0

ip или поддомен, который дает мне xenserver.org? То есть сервер, на котором запущен xenserver? Да, я использую этот IP. Но это должно обрабатывать соединение на стороне xenserver? Какой порт использовать? – jonua

+0

Я добавил ссылку на ответ, вам не нужен порт, но вам нужно пройти аутентификацию так, как они пишут в коде. И вам нужно использовать правильный IP (мастер). – jenaiz

2

Вам нужно только IP гипервизора XenServer. Для установления соединения вам не нужен порт.

Вы можете использовать этот код, чтобы установить соединение с гипервизором xenserver.

import com.xensource.xenapi.APIVersion; 
    import com.xensource.xenapi.Connection; 
    import com.xensource.xenapi.Session; 
    try{ 
     Connectionn conn = new Connection(new URL(xenservIP)); 
     Session.loginWithPassword(conn, xenservUsername,xenservPassword, APIVersion.latest().toString()); 
} catch(BadServerResponse | SessionAuthenticationFailed | XenAPIException | XmlRpcException | MalformedURLException) {// Your code} 
Смежные вопросы