Tony McDonald wrote:
Hi all, I'm experimenting with collating data from a remote database that uses XML-RPC.
I can send it messages like;
import xmlrpclib medweb = xmlrpclib.Server("http://bogus.server.com") medweb.getImages('scar') '<?xml version="1.0" encoding="ISO-8859-1" ?>\015\012\011<data>\015\012\011\011<title>Medwebb Images</title> \0
(lots of stuff snipped)
But I just can't figure out how to send the XML version of the same query, ie <?XML VERSION="1.0"?> <methodCall> <methodName>getimages</methodName> <params> <param> <value><string>scar</string></value> </param> </params> </methodCall>
to the server.
I've got a nasty feeling that when I get told how to do this, I'm going to slap my forehead bloody hard....
As you can see the data is returned in XML format, and whilst I'm fine with Python code for XML parsing (usually use sgmlop), I'm a bit lost on where to start here. An External Method seems the best way, but I'd like the received wisdom on this.
this probably isn't your problem, but in your above example getimages looks like it should be getImages. i'm not sure why you want work by hand on the xml-processing, since xmlrpclib already exists. if you want to debug your setup you can use shane hathaway's tcpwatch as a proxy which show you what goes out on the wire. as for the location of such code, it depends on what you're doing with the results, i think the choices are between a product and an external method. kapil