Hi,

I refer to the ./src/oca/java/org/opennebula/client/Client.java. Its "call" method is defind as:

    public OneResponse call(String action, Object...args)
    {
        boolean success = false;
        String  msg = null;

        try
        {
            Object[] params = new Object[args.length + 1];

            params[0] = oneAuth;

            for(int i=0; i<args.length; i++)
                params[i+1] = args[i];

*Object[] result = (Object[]) client.execute("one."+action, params);*

*success = (Boolean) result[0];*

            // In some cases, the xml-rpc response only has a boolean
            // OUT parameter
            if(result.length > 1)
            {
                try
                {
                    msg = (String) result[1];
                }
                catch (ClassCastException e)
                {
                    // The result may be an Integer
*msg = ((Integer) result[1]).toString();*
                }
            }


        }
        catch (XmlRpcException e)
        {
            msg = e.getMessage();
        }

        return new OneResponse(success, msg);
    }

You're right. Apologize for my incorrect advice. :-P

On 2011/5/2 18:34, Giuseppe Carella wrote:
It works!

in the web site example there is not this cast:

                Object untypedResult=null;
try {
untypedResult = client.execute( "one.vmpool.info <http://one.vmpool.info>", params );
} catch (XmlRpcException e) {
e.printStackTrace();
}
Object[] result = (Object[]) untypedResult;
Thank you Joey,

Best,

Giuseppe

2011/5/2 Joey Ma <[email protected] <mailto:[email protected]>>

    Hi,

    Maybe you should cast the returned type of Object to the
    OneResponse, "OneResponse result = (OneResponse)client.execute(
    "one.vm.allocate", params );".
    The java unit testing source code in java oca, located in
    ./src/oca/java/test, may helps you understanding the usage of
     java methods for xml-rpc calling.

    Best Regards,
    Joey

    On Mon, May 2, 2011 at 5:57 PM, Giuseppe Carella
    <[email protected] <mailto:[email protected]>> wrote:

        Hi all,

        I have a problem with XMLRPC API using it with JAVA.
        When I send a request to opennebula XMLRPC server, I receive
        a response like this:

        [Ljava.lang.Object;@19968e23

        How can I extract the vid from this response object?

        I have followed all the instructions in the java example of
        the web site.

        public  class  XmlRpcTest{
             public  static  void  main(  String  
<http://www.google.com/search?hl=en&q=allinurl%3Astring+java.sun.com&btnI=I%27m%20Feeling%20Lucky>
  args[]  )  throws  Exception  
<http://www.google.com/search?hl=en&q=allinurl%3Aexception+java.sun.com&btnI=I%27m%20Feeling%20Lucky>
  {
                 XmlRpcClient client=  new  XmlRpcClient(  
"http://localhost:2633/RPC2";  );
                 Vector  
<http://www.google.com/search?hl=en&q=allinurl%3Avector+java.sun.com&btnI=I%27m%20Feeling%20Lucky>
  params=  new  Vector  
<http://www.google.com/search?hl=en&q=allinurl%3Avector+java.sun.com&btnI=I%27m%20Feeling%20Lucky>();
                 params.addElement("SESSION-GOLA&4H910");
                 params.addElement("MEMORY=345 CPU=4 
DISK=[FILE=\"img\",TYPE=cd]"
        "DISK=[FILE=\"../f\"]");

                 Object  
<http://www.google.com/search?hl=en&q=allinurl%3Aobject+java.sun.com&btnI=I%27m%20Feeling%20Lucky>
  result=  client.execute(  "one.vm.allocate", params);

                 if  (  result!=  null  )
                     System  
<http://www.google.com/search?hl=en&q=allinurl%3Asystem+java.sun.com&btnI=I%27m%20Feeling%20Lucky>.out.println(
  result.toString()  );
             }
        }


        Your help is kindly appreciated!

        thanks,

        Giuseppe

        _______________________________________________
        Users mailing list
        [email protected] <mailto:[email protected]>
        http://lists.opennebula.org/listinfo.cgi/users-opennebula.org




_______________________________________________
Users mailing list
[email protected]
http://lists.opennebula.org/listinfo.cgi/users-opennebula.org

Reply via email to