Download SDKs
Overview
XenServer includes a XML-RPC based API, providing programmatic access to the extensive set of XenServer management features and tools. The XenServer API can be called from a remote system as well as local to the XenServer host. Remote calls are generally made securely over HTTPS, using port 443.
There are five SDKs available, one for each of C, C#, Java, PowerShell, and Python. These are provided under an open-source license (LGPL or GPL with the common linking exception). This allows use (unmodified) in both closed-and open-source applications.
There are also several example code samples also provided for download. Some of the code samples demonstrate creating a VM, running VM power operations, and watching for events.
The XenServer 6.0 SDKs are suitable not just for 6.0 servers, but for use with all versions of XenServer from 4.0 to 6.0, making it possible to address multiple XenServer versions with a single binary. There are, of course, features missing on the older versions, and client programs are expected to check host.software_version["product_version"] to gracefully fall back when appropriate.
Release notes: Known issues in this release
XenServer 6.0 SDK Release Notes
XenServer.NET: The XenServer SDK for C#.NET
Download XenServer.NET binaries
Download XenServer.NET samples
Download XenServer.NET source
XenServerJava: The XenServer SDK for Java
Download XenServerJava binaries
Download XenServerJava samples
Download XenServerJava source
libxenserver: The XenServer SDK for C
Download libxenserver binaries
Download libxenserver samples and source
XenServerPSSnapIn: The XenServer SDK for PowerShell
Download XS-PS Windows installer
Download XS-PS source
XenAPI.py: The XenServer Python module
Download XenAPI.py
Browse XenServer API examples using Python
API Reference
PDF
HTML
Javadoc (zip)
XenServerConsole: A Java client for XenServer consoles
Download XenServerConsole source
We also publish an appliance-style virtual machine, ready to be imported into a XenServer host. This contains the SDKs above, plus a XenServer simulator, and a complete Linux-based development environment.
Download SDK VM: Version 6.0. 331 MB.
Browse and Share Scripts and Samples on the CDN Script Exchange
xvp: An open-source web interface for XenServer, developed at Durham University
Making use of XenServer's RRDs for metric information
Note that the XenServer 6.0 SDKs are suitable for use with all versions of XenServer from 4.0 to 6.0. These older releases are here for historical purposes only.
Comments (33)
Oct 08, 2008
sateesh c says:
Hi, I could not find XAPI SDK with C bindings. I need to develop tools that ru...Hi, I could not find XAPI SDK with C bindings. I need to develop tools that run on XenServer. Please let me know how to download an SDK with C bindings. ~Sateesh
Nov 05, 2008
Ewan Mellor says:
A new version of libxenserver is now available. There's a link above.A new version of libxenserver is now available. There's a link above.
Nov 08, 2008
sateesh c says:
Nice to see the C bindings after long waiting. But while unzipping the archive ...Nice to see the C bindings after long waiting.
But while unzipping the archive of libxenserver binaries (libxenserver-5.0.0-2.tar.bz2) I got the following errors.
---------------------------------------------------------------------------------------------------------------------------------------
! C:\Documents and Settings\testuser\Desktop\libxenserver-5.0.0-2(2).tar.bz2: Cannot open libxenserver.so.1 (libxenserver.so.1 --> libxenserver\libxenserver.so)
! C:\Documents and Settings\testuser\Desktop\libxenserver-5.0.0-2(2).tar.bz2: Symbolic link points to missing file
---------------------------------------------------------------------------------------------------------------------------------------
~Sateesh
Nov 09, 2008
sateesh c says:
Hi, I could build the libraries from the sources. Thanks, Sateesh C.Hi,
I could build the libraries from the sources.
Thanks,
Sateesh C.
Nov 13, 2008
Ewan Mellor says:
What are you using to unzip the archive? Here's what I get: ~ $ ls -l libxens...What are you using to unzip the archive? Here's what I get:
Nov 08, 2008
sateesh c says:
I need a small clarification regarding the C bindings. Will the above mentioned...I need a small clarification regarding the C bindings.
Will the above mentioned libxenserver SDKs work for XenServer 4.1 as well ?
Thanks
~Sateesh
Nov 13, 2008
Ewan Mellor says:
Yes, all of our SDKs will work against XenServer 4.0 and 4.1 as well as 5.0. Th...Yes, all of our SDKs will work against XenServer 4.0 and 4.1 as well as 5.0. There will of course be some functionality that is missing on the older servers, so your client program will need to check host.software_version["product_version"] to gracefully handle the compatibility.
Nov 13, 2008
Ewan Mellor says:
I've put a comment to this effect on the page above. Thanks for asking the ques...I've put a comment to this effect on the page above. Thanks for asking the question!
Mar 16, 2009
Anonymous says:
From the doc. It said The SDK is available for download as a ZIP file at http:/...From the doc. It said
The SDK is available for download as a ZIP file at http://community.citrix.com/display/xs/XenServer+SDK of around
250MB.
Where can I download the SDK VM?
May 05, 2009
Ewan Mellor says:
The SDK was moved temporarily, sorry about that. I've put new links to it on th...The SDK was moved temporarily, sorry about that. I've put new links to it on the page you mention, and on this one. Thanks for letting us know.
Jun 09, 2009
Anonymous says:
Where's the SDK VM at? I rechecked the links but getting an error when it c...Where's the SDK VM at? I rechecked the links but getting an error when it can't find it..
Dan Maldonado
Computer Sciences Corp
Jun 13, 2009
Vishal Ganeriwala says:
Try this link http://www.citrix.com/lang/English/lp/lp_1688621.aspTry this link
http://www.citrix.com/lang/English/lp/lp_1688621.asp
Jun 13, 2009
john casey says:
The SDK VM link is invalid. Thanks, John Casey LayerzNgnThe SDK VM link is invalid.
Thanks,
John Casey
LayerzNgn
Jun 13, 2009
Vishal Ganeriwala says:
Try this link http://www.citrix.com/lang/English/lp/lp_1688621.aspTry this link
http://www.citrix.com/lang/English/lp/lp_1688621.asp
Jun 15, 2009
Anonymous says:
XAPI is provided over the local unix domain socket /var/xapi/xapi. I want ...XAPI is provided over the local unix domain socket /var/xapi/xapi.
I want to use a local session for the XAPI calls.
But using XAPI C bindings I am not able to create a session for the socket.
I would appreciate any help regarding this.
~Sateesh.
Nov 03, 2009
Goncalo Gomes says:
Hi Sateesh, I have answered a similar question just a few minutes ago. Hope they...Hi Sateesh, I have answered a similar question just a few minutes ago. Hope they can give you some sense of direction.
http://forums.citrix.com/thread.jspa?messageID=1416213\\
Nov 06, 2009
Anonymous says:
Whome to contact for issues with Citrix Storagelink Adapter SDK 1.09? I followe...Whome to contact for issues with Citrix Storagelink Adapter SDK 1.09?
I followed the instructions given in the "storagelink_adapter_sdk_devguide" and created an Storage Array adapter. It loaded fine and I was able to add credentials, enumerate the Storage Systems. It failed with an access violation exception in the gateway service while enumerating the after returning from the "enumerateStoragePools" method. What I found is, when the pools list is populated with only one element then it works fine, but if the numer of elements exceeds one, it throws this exception. This holds good for any enum methods returning more than one elements. What might be the issue?
I tried with the sample adapter and still see the same issue.
Thanks,
KK
Mar 26, 2010
Jason Gilbertson says:
when i try to install powershell sdk on windows server 2008 r2, it installs succ...when i try to install powershell sdk on windows server 2008 r2, it installs successfully but the snapin is not available. when i run get-pssnapin -registered, it does not show in the list. i was able to resolve by changing path of installutil.exe from:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\installUtil.exe "C:\Program Files (x86)\Citrix\XenServerPSSnapIn\xenserverpssnapin.dll"
to:
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\installUtil.exe "C:\Program Files (x86)\Citrix\XenServerPSSnapIn\xenserverpssnapin.dll"
now snapin shows up but i havent tested to see if it works
Apr 06, 2010
vivek katakam says:
Hi Vishal, I am searching for old archive of Xen Server 5.0 SDK. The link given...Hi Vishal,
I am searching for old archive of Xen Server 5.0 SDK. The link given in the web page is not working.
Can you please provide me the link or location so that i can download the file.
Thanks and Regards,
Vivek
May 19, 2010
Anonymous says:
Hi, I am executing a below command to download performance data from hosts but ...Hi,
I am executing a below command to download performance data from hosts but getting error.https://sapatcon:<CLEARTEXT_PASSWORD!!!>@<hostname>/rrd_updates?start=1273655977&host=true: Bad port number.
A same command work with XenServer 5.5.
I know this problem would be resolved if I provided a port number after host but why this behavior difference between 5.5 and 5.5 update 2?
Vijay
Jun 07, 2010
Anonymous says:
Hey, I keep getting an error when I try to find the SDK V link? Nick- telep...Hey, I keep getting an error when I try to find the SDK V link?
Nick- telephone answering service
Jul 23, 2010
Anonymous says:
I have a snapshot of the VM again to initialize VM hipnida information. With th...I have a snapshot of the VM again to initialize VM hipnida information.
With the following API to work with the task, but failure to have the desired action.
And an error has occurred.
How can I resolve to let us know.
Jul 23, 2010
Anonymous says:
VM을 삭제하지 않고 초기 스냅샷의 정보로 VM을 초기화를 하려고 합니다. API로 구현을 하려고 하나 잘되지 않습니다. 방법을 알고 싶습니다....VM을 삭제하지 않고 초기 스냅샷의 정보로 VM을 초기화를 하려고 합니다.
API로 구현을 하려고 하나 잘되지 않습니다.
방법을 알고 싶습니다.
JiSun.Hwang
Jul 23, 2010
Anonymous says:
Without deleting the VM as an initial snapshot of the information to try to rese...Without deleting the VM as an initial snapshot of the information to try to reset the VM.
API is not as good as one tries to implement.
I would like to know how.
JiSun.Hwang
Email : jsh@n2m.co.kr
Jul 26, 2010
Anonymous says:
VMを削除しないで初期スナップショットの情報で VMを初期化をしようと思います. APIで具現をしようと思うがよくできません. 方法が分かりたいです. Ema...VMを削除しないで初期スナップショットの情報で VMを初期化をしようと思います.
APIで具現をしようと思うがよくできません.
方法が分かりたいです.
Email : jsh@n2m.cok.kr
JiSun.Hwang
Jul 26, 2010
Anonymous says:
Email : jsh@n2m.co.krEmail : jsh@n2m.co.kr
Jul 29, 2010
Anonymous says:
Hi, how could 5.6.0 be possible to use for 5.5.0 an older versions when it comes...Hi, how could 5.6.0 be possible to use for 5.5.0 an older versions when it comes to driver development??? Archive links are broken and the kernel version is 2.6.27 in 5.6 instead of 2.6.18 so I cannot create driver update for my 5.5.0 farm. Thanks Citrix, nice one!
Oct 20, 2010
Anonymous says:
OK i'm a bit disappointed. I spent 3 working days trying to get the xenco...OK i'm a bit disappointed.
I spent 3 working days trying to get the xenconsole integrated into our infrastructure. Considering we have many servers and want to centralise things. Now a guide of some proper documentation wouldn't go far a miss.
We have implemented the xenApi fully but the damn console is the only part which seems to be a major PITA (abbrv). Absolutely no documentation, tried hacking tinyvnc and then I thought hey here is the answer, there's a xenconsole java plugin, but then when you use it, it doesn't work.
What would help is if someone could provide exactly how to use and/or implement this. We are an ISP and this is now taking time away from selling Xen products.
Kind Regards,
Eamon
Oct 25, 2010
Carl Webster says:
Trying to run XenServerPSSnapIn.bat under Windows 7 x64 and get: C:\Program Fil...Trying to run XenServerPSSnapIn.bat under Windows 7 x64 and get:
C:\Program Files (x86)\Citrix\XenServerPSSnapIn>xenserverpssnapin.bat
WARNING: The following errors occurred when loading console C:\Program Files
(x86)\Citrix\XenServerPSSnapIn\XenServerPSSnapIn.psc1:
Cannot load Windows PowerShell snap-in XenServerPSSnapIn because of the
following error: No snap-ins have been registered for Windows PowerShell
version 2.
Command 'if ($(Get-ExecutionPolicy) -ne "Restricted")
werShell snap-ins did not load.
C:\Program Files (x86)\Citrix\XenServerPSSnapIn>
Dec 24, 2010
Mike Hegyi says:
Is there a way for an application running in a VM guest to programatically deter...Is there a way for an application running in a VM guest to programatically determine that it is running in a XenServer VM?
Sep 27, 2011
Frank Peter Schultze says:
Hello! Concerning XenServerPSSnapIn.bat on Windows 7 x64, Windows Server 20...Hello!
Concerning XenServerPSSnapIn.bat on Windows 7 x64, Windows Server 2008 x64,
and Windows Server 2008 R2: the XenServer PSSnapIn is registered for 32-Bit PowerShell only. I don't know if this is by design. Anyway, you could change XenServerPSSnapIn.bat as follows:
Hope this helps
--
Frank Peter Schultze, www.out-web.net
Oct 10, 2011
Dirk Eisenberg says:
Hi, I'm using the .NET binding of the SDK on mono and found out that the Authen...Hi,
I'm using the .NET binding of the SDK on mono and found out that the AuthenticateAsClient call in the ConnectStream-method fails. For me it's not clear if it's on issue in mono or the API because it's no allowed to pass the first parameter as null but it's not said if it's allowed to pass an empty string. In Windows it works in mono it will be converted to null. The following patch is what I using to fix this issue (apply this to HTTP.cs):
319c319
< sslStream.AuthenticateAsClient("");
—
> sslStream.AuthenticateAsClient(uri.DnsSafeHost);
Hope this helps not only me
Dirk
Oct 10, 2011
Dirk Eisenberg says:
Hi, during my rebuild of the .NET binding I got a couple of warnings: XenServ...Hi,
during my rebuild of the .NET binding I got a couple of warnings:
XenServerSDK\XenServer.NET-6.0.0.1-Patched\HTTP.cs(392,28): warning CS3005: Identifier 'XenAPI.HTTP.Put(XenAPI.HTTP.UpdateProgressDelegate, XenAPI.HTTP.FuncBool, System.Uri, System.Net.IWebProxy, string, int)' differing only in case is not CLS-compliant
XenServerSDK\XenServer.NET-6.0.0.1-Patched\HTTP.cs(370,30): (Related location)
XenServerSDK\XenServer.NET-6.0.0.1-Patched\HTTP.cs(418,28): warning CS3005: Identifier 'XenAPI.HTTP.Get(XenAPI.HTTP.DataCopiedDelegate, XenAPI.HTTP.FuncBool, System.Uri, System.Net.IWebProxy, string, int)' differing only in case is not CLS-compliant
XenServerSDK\XenServer.NET-6.0.0.1-Patched\HTTP.cs(377,30): (Related location)
XenServerSDK\XenServer.NET-6.0.0.1-Patched\Session.cs(195,22): warning CS3005: Identifier 'XenAPI.Session.proxy' differing only in case is not CLS-compliant
XenServerSDK\XenServer.NET-6.0.0.1-Patched\Session.cs(57,33): (Related location)
XenServerSDK\XenServer.NET-6.0.0.1-Patched\Session.cs(225,13): warning CS3005: Identifier 'XenAPI.Session.Subject.get' differing only in case is not CLS-compliant
XenServerSDK\XenServer.NET-6.0.0.1-Patched\Session.cs(394,32): (Related location)
The source is the naming of PUT and Put and the usage of property get&set methods. I want to propose to rename the methods in a way that it is CLS-compliant!
Cheers
Dirk