On Tue, Sep 03, 2002 at 04:46:24PM +0300, Ruslan Spivak wrote: [Snipped traceback]
Fault: (see above)
The traceback isn't very useful, it only shows that an XML-RPC fault was raised at the XML-RPC server. To diagnose the problem, you'd have to figure out what the fault is.
N.B. When I change ext. methods on comp A Zope so that they don't return anything it work's OK. example(on comp A) - old: Doesn't work
def vadduser(username, domain, password): return vpopmail.vadduser(username, domain, password, "", 0)
new: Works
def vadduser(username, domain, password): vpopmail.vadduser(username, domain, password, "", 0)
But I need get the result codes.
This sound like there sometimes is not an integer return code, and whatever *is* returned cannot be marshalled into an XML-RPC result. You'll need to try and catch the XML-RPC Fault on the client side, and examine its contents (see xmlrpclib.py for what attributes the object will have); or you'll need to log whatever your wrapped extension library returns when the fault occurs. Maybe a try - except on the server side with exception logging would help, with an assert that the return code is indeed either 0 or 1. -- Martijn Pieters | Software Engineer mailto:mj@zope.com | Zope Corporation http://www.zope.com/ | Creators of Zope http://www.zope.org/ ---------------------------------------------