Odoo Help

Welcome!

This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

1

list res.partner with XMLRPC

By
xiaolong97427
on 4/4/13, 8:15 PM 4,462 views

Hi,

On openERP V7, I want to list all the supplier via an XMLRPC request. I am testing the code via the tool: xmlrpc-test-tool where I set :

XMLRPC-Server= http://openerpServerName:8069/xmlrpc/object Custom method = "execute" Param1 = reponsitory01, Param2 = 1, Param3 = thePassword, Param4 = 'search' Param 5 = ''

Following error are raised

   XML-RPC Fault #-1 : Traceback (most recent call last):
      File "/opt/openerp/server/openerp/service/wsgi_server.py", line 82, in xmlrpc_return
        result = openerp.netsvc.dispatch_rpc(service, method, params)
      File "/opt/openerp/server/openerp/netsvc.py", line 293, in dispatch_rpc
        result = ExportService.getService(service_name).dispatch(method, params)
      File "/opt/openerp/server/openerp/service/web_services.py", line 626, in dispatch
        res = fn(db, uid, *params)
      File "/opt/openerp/server/openerp/osv/osv.py", line 131, in wrapper
        return f(self, dbname, *args, **kwargs)
      File "/opt/openerp/server/openerp/osv/osv.py", line 197, in execute
        res = self.execute_cr(cr, uid, obj, method, *args, **kw)
      File "/opt/openerp/server/openerp/osv/osv.py", line 185, in execute_cr
        return getattr(object, method)(cr, uid, *args, **kw)
      File "/opt/openerp/server/openerp/osv/orm.py", line 2354, in search
        return self._search(cr, user, args, offset=offset, limit=limit, order=order, context=context, count=count)
      File "/opt/openerp/server/openerp/osv/orm.py", line 4844, in _search
        self._apply_ir_rules(cr, user, query, 'read', context=context)
      File "/opt/openerp/server/openerp/osv/orm.py", line 4726, in _apply_ir_rules
        rule_where_clause, rule_where_clause_params, rule_tables = rule_obj.domain_get(cr, uid, self._name, mode, context=context)
      File "/opt/openerp/server/openerp/addons/base/ir/ir_rule.py", line 150, in domain_get
        dom = self._compute_domain(cr, uid, model_name, mode)
      File "/opt/openerp/server/openerp/tools/cache.py", line 18, in lookup
        r = self.lookup(self2, cr, *args)
      File "/opt/openerp/server/openerp/tools/cache.py", line 46, in lookup
        value = d[key] = self.method(self2, cr, *args)
      File "/opt/openerp/server/openerp/addons/base/ir/ir_rule.py", line 130, in _compute_domain
        rule_domain = self.read(cr, uid, rule.id, ['domain'])['domain']
      File "/opt/openerp/server/openerp/osv/orm.py", line 3604, in read
        result = self._read_flat(cr, user, select, fields, context, load)
      File "/opt/openerp/server/openerp/osv/orm.py", line 3724, in _read_flat
        res2 = self._columns[f].get(cr, self, ids, f, user, context=context, values=res)
      File "/opt/openerp/server/openerp/osv/fields.py", line 1131, in get
        result = self._fnct(obj, cr, uid, ids, name, self._arg, context)
      File "/opt/openerp/server/openerp/addons/base/ir/ir_rule.py", line 53, in _domain_force_get
        res[rule.id] = expression.normalize_domain(eval(rule.domain_force, eval_context))
      File "/opt/openerp/server/openerp/tools/safe_eval.py", line 241, in safe_eval
        return eval(test_expr(expr, _SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
      File "", line 1, in <module>
    AttributeError: 'NoneType' object has no attribute 'id'

Where did I do wrong ?

0

Gustavo

--Gustavo--
950
| 2 1 4
Buenos Aires, Argentina
--Gustavo--

Python developer, big fan of sailing

Gustavo
On 4/4/13, 8:51 PM

try the search parameter as an empty list, []. Also you need to specify the model on which you are searching

I added the param : res.partner and also the last param for the search I added : [], so in final : I have XMLRPC-Server= http://openerpServerName:8069/xmlrpc/object Custom method = "execute" Param1 = reponsitory01, Param2 = 1, Param3 = thePassword, Param4=res.partner, Param4 = 'search' Param 5 = '[]' I have the following error: File "/opt/openerp/server/openerp/osv/orm.py", line 4843, in _search query = self._where_calc(cr, user, args, context=context) File "/opt/openerp/server/openerp/osv/orm.py", line 4669, in _where_calc domain.insert(0, ('active', '=', 1)) AttributeError: 'st

xiaolong97427
on 4/5/13, 6:34 AM
0

Francesco OpenCode

--Francesco OpenCode--
3608
| 5 7 9
Grottaglie, Italy
--Francesco OpenCode--

Italian Odoo (OpenERP) Modules Developer LINKEDIN: http://www.linkedin.com/in/francescoapruzzese

Francesco OpenCode
On 4/5/13, 5:38 AM

This is an exemple code:

sock_common = xmlrpclib.ServerProxy('http://'+SERVER+':'+PORT+'/xmlrpc/common',allow_none=True)
sock = xmlrpclib.ServerProxy('http://'+SERVER+':'+PORT+'/xmlrpc/object',allow_none=True)
uid = sock_common.login(DB_NAME, USER, PASSWORD)
record_ids = sock.execute(DB_NAME, uid, PASSWORD, 'res.partner', 'search', [('supplier', '=', True)])
suppliers = sock.execute(DB_NAME, uid, PASSWORD, 'res.partner', 'read', record_ids, ['id', 'name'])
for supplier in suppliers:
    print supplier

I added 2 more parameters: res.partner and the [] , error has change to: XML-RPC Fault #-1 : Traceback (most recent call last): File "/opt/openerp/server/openerp/service/wsgi_server.py", line 82, in xmlrpc_return result = openerp.netsvc.dispatch_rpc(service, method, params) File "/opt/openerp/server/openerp/netsvc.py", line 293, in dispatch_rpc result = ExportService.getService(service_name).dispatch(method, params) File "/opt/openerp/server/openerp/service/web_services.py", line 626, in dispatch res = fn(db, uid, *params) File "/opt/openerp/server/openerp/osv/osv.py", line 131, in wrapper re

xiaolong97427
on 4/5/13, 6:35 AM

Can you post your code? but not here...use some site like paste or similar. Thanks.

Francesco OpenCode
on 4/5/13, 6:45 AM

Actually I am not using any code yet. I am using a tool to test the query first. When it will success, then I will write the code. Tools is : https://code.google.com/p/xmlrpc-test/

xiaolong97427
on 4/5/13, 8:45 AM

Sorry, I don't know it...I use to write scripts when I need to use xmlrpc

Francesco OpenCode
on 4/5/13, 8:48 AM

Any update on this? I am getting the same errors using the tool at http://www.tomhost.de/dev/tools/xmlrpc-tt/ and I get similar errors via code. The weird thing is that I had this working fine via code and then I started getting XML-RPC errors so it leads me to believe it is an issue with my data or configuration since it was working and I didn't change my code.

James Morgan
on 4/11/13, 7:19 PM

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

0 follower(s)

Stats

Asked: 4/4/13, 8:15 PM
Seen: 4462 times
Last updated: 3/16/15, 8:10 AM