2014-03-12 61 views
0

我有一個開源的xenserver產品(來自xenserver.org)。 我需要從Java代碼遠程訪問VM。例如,要遠程重新啓動。 我發現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

如果你的虛擬機在vsphere上運行的比使用vijava.jar [開源]或vim.jar [由vmware提供]。很棒的API與vsphere vm連接並在機器上執行多種操作。如果您不瞭解vSphere環境,您可能需要在最初階段進行很多努力。 –

+0

感謝您的回答。但我不使用vsphere。我使用citrix xen(http://www.xenserver.org/) – jonua

回答

0

沒有閱讀XenServer文檔,我想告訴你,你需要用你的公網IP或子域xenserver.org提供給您。你需要創建一個會話與你認證參數:用戶/密碼。這個論壇可以幫助你:

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

+0

ip或subdomain,這給了我xenserver.org?也就是說,運行xenserver的服務器?是的,我使用這個IP。但是,這應該處理側xenserver的連接?我應該使用什麼端口? – jonua

+0

我已經添加了一個鏈接到響應,你不需要一個端口,但你需要以他們在代碼中寫入的方式進行身份驗證。你需要使用正確的IP(主)。 – jenaiz

2

你只需要在XenServer虛擬機管理程序的IP。您不需要任何端口來建立連接。

您可以使用此代碼與您的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}