← Back to team overview

credativ team mailing list archive

[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
Framework Experts, 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