Hello,
my question is, if it is possible to have an java.util.Hashtable as the
return value of a XmlRpc call.
I tried it, but I have got a java.lang.NullPointerException as return
value.
This is my code:
The server:
private WebServer server;
server = new WebServer(portNumber);
server.addHandler("$default", this);
server.start();
The method to invoke:
public Hashtable displayDriverStarted(String displayID) {
...
Hashtable resultTable = new Hashtable();
...
resultTable.put("isOk",new Boolean(response.Ok()));
resultTable.put("errorText",response.Error());
return resultTable;
}
The client side:
private XmlRpcClient client;
client = new XmlRpcClient("http://" + this.serverIPAddress + ":" +
serverPortNumber + "/RPC2");
...
Object returnObject = null;
returnObject = client.execute("displayDriverStarted", params);
try{
responseTable = (Hashtable) returnObject;
isOk = ((Boolean)(responseTable.get("isOk"))).booleanValue();
errorText = (String)responseTable.get("errorText");
}
catch (Exception e){
logger.error("Unaspected return value: " + returnObject);
}
While debugging I realized that in org.apache.xmlrpc.Invoker in method
execute(String methodName, Vector params) the instruction
returnValue = method.invoke(invokeTarget, argValues);
throws a InvocationTargetException.
Is there a solution for this problem?
Thanks,
Sylvia Biermann