From: "Ben Last (Zope)" <zope@benlast.com>
Whether via plain old http or xmlrpc, I can't get methods like objectIds to work. I can, of course, use the ZMI manage_ methods via http to do what I need, but that's not amazingly convenient, since any errors are delivered back in HTML intended for a human, and I need to use tricks like modifying the standard_error_message template so that I can detect a given string and spot that an error's being flagged.
We do this quite a lot. We use cURL (or an equivalent http utility) to form an http request which consists of the target method within the zope site and passes zero or more parameters. The target zope method is a standard dtml or python script method with only one difference: it does not return html code it returns standard ascii. This is done by eliminating any html in the method (ie. don't use standard_html_header or any other kind of html header). Errors are trapped using the try/except statements and error feedback is placed into string/list variables which are returned to the calling http process by simply: <dtml-var "_.str(listitem)"> (this causes an ascii version of the list variable to be returned). This process is very simple to implement. HTH Jonathan