[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-API] Simple Java API example



Thanks for that Stefan, just what I was looking for :-)

Cheers,
Christian


Stefan Berger wrote:

*This program should show all VMs' UUIDs.*

*I added the line*

*(xen-api-server (( 0.0.0.0:9363 none )))*

*to /etc/xen/xend-config.sxp before starting xend.*

*   Stefan*


*package* test;

*import* java.net.MalformedURLException;
*import* java.net.URL;
*import* java.util.HashMap;
*import* org.apache.xmlrpc.XmlRpcException;
*import* org.apache.xmlrpc.client.XmlRpcClient;
*import* org.apache.xmlrpc.client.XmlRpcClientConfigImpl;

*public* *class* Test {
        *private* *static* XmlRpcClientConfigImpl /config/;
*private* *static* XmlRpcClient /client/;
        /**
         * *@param* args
         */
        *public* *static* *void* main(String[] args) {
                URL url = *null*;
                *try* {
url = *new* URL("http://your.xen.machine.ip.address:9363";);
                } *catch* (MalformedURLException e) {
                        System./out/.println("Malformed URL?");
                        System./exit/(-1);
                }
                /config/ = *new* XmlRpcClientConfigImpl();
            /config/.setServerURL(url);
            /client/ = *new* XmlRpcClient();
            /client/.setConfig(/config/);
            String username = "any";
            String password = "any";
            Object[] params = *new* Object[]{username, password};
                HashMap<String, String> result = *null*;
                *try* {
result = (HashMap) /client/.execute("session.login_with_password", params);
                } *catch* (XmlRpcException e) {
                        System./out/.println("Could not open session");
                        System./exit/(-1);
                }
                String status = result.get("Status");
                *if* (status.compareTo("Success") == 0) {
                        String uuid = result.get("Value");
                    params = *new* Object[]{uuid};
                        *try* {
result = (HashMap) /client/.execute("VM.get_all", params);
                        } *catch* (XmlRpcException e) {
System./out/.println("Could not get VMs' UUIDs");
                                System./exit/(-1);
                        }
                        Object res = result.get("Value");
                        *if* (res.getClass() == Object[].*class*) {
                                Object[] arr = (Object[])res;
                                *int* i;
                                *for* (i = 0; i < arr.length; i++) {
System./out/.println("VM UUID: " +(String)arr[i]);
                                }
                        }
}

        }
}

xen-api-bounces@xxxxxxxxxxxxxxxxxxx wrote on 04/05/2007 08:10:10 AM:

> Hi All,
>
> I am trying to talk to the Xen API with Java and
> 'org.apache.xmlrpc.client.XmlRpcClient' (version 3). I was wondering if
> someone could give me a very short example of connecting to the server
> and getting a list of VM's?  I have never used XML-RPC before and the
> tutorials ive found dont seem to apply to this version of the xmlrpc api.
>
> Thanks in advance,
> Christian
>
> _______________________________________________
> xen-api mailing list
> xen-api@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-api


_______________________________________________
xen-api mailing list
xen-api@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-api


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.