[Zope] ANN: Zope XML-RPC!

Eric Kidd eric@userland.com
Sat, 19 Jun 1999 17:58:50 -0400


On Sat, Jun 19, 1999 at 04:51:31PM +0100, Robin Becker wrote:
> xml_hello_world inside <ZOPEROOT>/Extensions/test.py and with my browser
> http://jessikat:9673/xml_hello_world?name=xxx returns the expected
> Hello, xxx!

Looks good so far.
 
> when I run the xmlrpclib route as in
> 
> >>> import xmlrpclib
> >>> s=xmlrpclib.Server("http://jessikat:9673")

Hmmm. You tripped over a strange default in xmlrpclib. You really meant to
write:

  s=xmlrpclib.Server("http://jessikat:9673/") # Notice the final '/'

If you omit the final '/', xmlrpclib defaults to the following URL:

  http://jessikat:9673/RPC2

This is because the XML-RPC methods on most servers are attached to a
top-level object named 'RPC2' (I have no clue why). Zope has no 'RPC2'
object, so this default is useless.

> a bit of debugging reveals that the parse into method and args happens
> ok, but inside xmlrpc somewhere a fault is happening; it seems that the
> standard error return from Zope is shoved into the response body.

Yes. The error-handling machinery in Zope 2.0 is due for an overhaul. I
won't improve the XML-RPC error reporting until everthing stops changing.

If you have any more problems (or feedback), please don't hesitate to ask.

Cheers,
Eric