It works but... in case of error there is no clean error handling and the Apache xmlrpc lib fires an exception. The problem being it cannot cast a String into an int.
Well it appears that Open ERP does not follow the xmlrpc protocol...
https://bugs.launchpad.net/openerp/+bug/257581
The 'worst' is there
http://launchpadlibrarian.net/31048347/xmlrpc.patch
which gives the following
=== modified file 'bin/netsvc.py' --- bin/netsvc.py 2009-08-28 16:50:27 +0000 +++ bin/netsvc.py 2009-08-31 10:11:37 +0000 @@ -262,7 +262,10 @@ service_name = self.path.split("/")[-1] return self.dispatch(service_name, method, params) except OpenERPDispatcherException, e: - raise xmlrpclib.Fault(tools.exception_to_unicode(e.exception), e.traceback) + if 'xmlrpclib' in self.headers.getheader('User-Agent'): + raise xmlrpclib.Fault(tools.exception_to_unicode(e.exception), e.traceback) + else: + raise xmlrpclib.Fault(1,tools.exception_to_unicode(e.exception)) class SSLSocket(object): def __init__(self, socket): So somebody provided a clean fix and nobody cares !
No comments:
Post a Comment