java.lang.Integer cannot be cast to [Ljava.lang.Object;
java, xml-rpc
Solution
You have to check the type of the return value before casting.
Object result = client.execute(...);
if (result instanceof Integer) {
Integer intResult = (Integer) result;
... handle int result
}
else if (result instanceof Object[]) {
obj = (Object[]) result;
}
else {
... something else
}
I'd be tempted to create a strongly-typed API around these RPC calls. But then again, maybe that's what you're already doing...
Problem
I'm currently retrieving data using XML-RPC, this is what I have: ``` Object[] params = new Object[]{param1, param2}; Object[] obj = new Object[]{}; try { obj = (Object[]) client.execute("method.name", params); } catch (XmlRpcException e) { // TODO Auto-generated catch block e.printStackTrace(); } return obj; ``` The problem is that sometimes it will return -1 and I'll get this error: java.lang.Integer cannot be cast to [Ljava.lang.Object; - I was wondering if there was a way around this problem?