I am having problem with a Java program that calls a Perl/CGI Script, creates
a hash and returns. A simple example looks like this:
Perl Script:
[code]
sub createHash{
%hashTable = ();
$hashTable{"first"} = 1; # inserts a new hash table entry with key="first"
and value=1
$hashTable{"second"} = 2; # new entry with key="second" and value=2
return %hashTable;
}#end createHash
[/code]
Java Program
{code}
public void getHash(){
HashMap hashmap=new HashMap();
Vector params = new Vector();
//Create Variables
try {
XmlRpcClient xmlrpc = new XmlRpcClient(SERVER_URL);
//Set Strings
String methodName = "MyProgram.createHash";
System.out.println(xmlrpc.execute( methodName, params));
//The line below is commented out because it throws an error
//hashmap=(HashMap) xmlrpc.execute( methodName, params);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XmlRpcException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}//end class
{code}
The problems are this, when, I System.out.print the return hash created in
Perl, is only prints out the last value. When I cast the return value to a
Java Hash, it throws a string execption.
So how do I return a hash table or multiple values from a perl program?
--
View this message in context:
http://old.nabble.com/XML-RPC-Return-Hash-Map-tp27202339p27202339.html
Sent from the Apache Xml-RPC - Dev mailing list archive at Nabble.com.