openerp-india team mailing list archive
-
openerp-india team
-
Mailing list archive
-
Message #05069
[Bug 689575] Re: XMLRPC can't handle non-strings as keys
Nice comment Borja: Tryton! ;)
If we use Pyro Protocol (need install pyro module), you can try call
this function and work fine. I get this error XML-RPC protocol but not
by Pyro.
context = { 'states': ('done',), 'what': ('in', 'out') }
result = proxy.dispatch( 'object', 'execute', dbname, uid, pwd, 'product.product', 'get_product_available', [product.id], context)
See you.
--
You received this bug notification because you are a member of OpenERP
Indian Team, which is subscribed to OpenERP Server.
https://bugs.launchpad.net/bugs/689575
Title:
XMLRPC can't handle non-strings as keys
Status in OpenERP Server:
Won't Fix
Bug description:
I recently came across the problem described at
http://www.openerp.com/forum/post22813.html - namely that several
functions return dictionaries of the format {id1: result1, id2:
result2}.
When accessing these functions through XMLRPC (at least using python's
xmlrpclib), the use of integer ids as keys causes an error. For
example, the following code snippet (using get_product_available from
addons/stock/product.py):
stocknum = sock.execute(db, uid, pass, 'product.product',
'get_product_available', p['id'], {'location': stockid})
Results in the traceback:
File "/usr/lib/python2.6/xmlrpclib.py", line 1199, in __call__
return self.__send(self.__name, args)
File "/usr/lib/python2.6/xmlrpclib.py", line 1489, in __request
verbose=self.__verbose
File "/usr/lib/python2.6/xmlrpclib.py", line 1253, in request
return self._parse_response(h.getfile(), sock)
File "/usr/lib/python2.6/xmlrpclib.py", line 1392, in _parse_response
return u.close()
File "/usr/lib/python2.6/xmlrpclib.py", line 838, in close
raise Fault(**self._stack[0])
xmlrpclib.Fault: <Fault 1: "<type 'exceptions.TypeError'>:dictionary key must be string">
I'm not very experienced with XMLRPC, so apologies if this is a
problem specific to python's xmlrpclib, or my use of it.
But if not, then perhaps a solution similar to the last patch proposed
on the above forum post - ensuring dict keys are run through str() -
would be wise.
This is with OpenERP 5 rev. 2159.
To manage notifications about this bug go to:
https://bugs.launchpad.net/openobject-server/+bug/689575/+subscriptions