Thanks! That solved the problem perfectly!


Jochen Wiedmann wrote:
> 
> It is more than likely that you ought to use a hash *reference*, not a
> hash. In other words:
> 
>   $hashTable = {};
>   $hashTable->{"first"} = 1;
>   $hashTable->{"second"} = 2;
>   return $hashTable;
> 
> 
> 
> 
> On Sun, Jan 17, 2010 at 9:16 PM, BlackMage <dsd7...@uncw.edu> wrote:
>>
>> 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.
>>
>>
> 
> 
> 
> -- 
> Germanys national anthem is the most boring in the world - how telling!
> 
> 

-- 
View this message in context: 
http://old.nabble.com/XML-RPC-Return-Hash-Map-tp27202339p27211863.html
Sent from the Apache Xml-RPC - Dev mailing list archive at Nabble.com.

Reply via email to