yeah, that works, the code ended up looking like this and it works fine:
XmlRpcClient server = new XmlRpcClient(server_url);
Vector params = new Vector();
Hashtable ht = new Hashtable();
ht.put("address",address) ;
ht.put("zip",zip) ;
ht.put("name",name) ;
params.addElement(ht);
Hashtable result =
(Hashtable) server.execute("process", params);
for (Enumeration e = result.keys(); e.hasMoreElements() ;) {
String key = (String) e.nextElement() ;
System.out.println(key + "=" + result.get(key));
}
-----Original Message-----
From: John Twomey [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, July 30, 2002 5:21 AM
To: [EMAIL PROTECTED]
Subject: RE: Passing a Hash to a remote procedure
A Java Hashtable will be marshaled into an Structure by this
implementation of XML-RPC.
Check it out here:
http://xml.apache.org/xmlrpc/types.html
See ya,
John
John Twomey
Software Engineer
GHS Data Management Inc.
(207) 622-7153 ext. 176
[EMAIL PROTECTED]
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Monday, July 29, 2002 5:10 PM
To: [EMAIL PROTECTED]
Subject: Passing a Hash to a remote procedure
hello all,
We have a server written in perl which uses xml-rpc. We are
trying
to write java clients that can communicate with this. The perl server
takes
in a hash-ref (as called in perl) or a struct...It seems that the java
client can only send a vector or array. Is there a way to pass a struct?
basically the xml request looks like this :
<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>process</methodName>
<params>
<param>
<value>
<struct>
<member>
<name>name</name>
<value>
<string>kevin</string>
</value>
</member>
<member>
<name>address</name>
<value>
<string>123 fake street</string>
</value>
</member>
<member>
<name>zip</name>
<value>
<string>90210</string>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>
any help would be cool.
kevin