I can not get the search method to work using xmlrpc in c#. I am using http:// xml-rpc.net/ as a wrapper. (I am able to use the read method to return records so xmlrpc is working in general). I have tried various models and arguments but also get that Invalid Leaf error My code is interface is :
[XmlRpcMethod("execute")] Object[] executeArraySearch(string dbName, int userId, string pwd, string model, string method, object[] filter);
Calling it with
Object[] args2 = new Object[3];
args2[0] = "phone";
args2[1] = "like";
args2[2] = "5555555%";
Object[] results2 = warehouse.executeArraySearch(dbname,uid,pwd,"res.partner","search",args2);
The error is
Server returned a fault exception: [Invalid leaf phone] Traceback (most recent call last):
File "/opt/bitnami/apps/openerp/lib/openerp-7.0_20130725_231029-py2.7.egg/openerp/service/wsgi_server.py", line 82, in xmlrpc_return
result = openerp.netsvc.dispatch_rpc(service, method, params)
File "/opt/bitnami/apps/openerp/lib/openerp-7.0_20130725_231029-py2.7.egg/openerp/netsvc.py", line 292, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/opt/bitnami/apps/openerp/lib/openerp-7.0_20130725_231029-py2.7.egg/openerp/service/web_services.py", line 626, in dispatch
res = fn(db, uid, params)
File "/opt/bitnami/apps/openerp/lib/openerp-7.0_20130725_231029-py2.7.egg/openerp/osv/osv.py", line 131, in wrapper
return f(self, dbname, *args, *kwargs)
File "/opt/bitnami/apps/openerp/lib/openerp-7.0_20130725_231029-py2.7.egg/openerp/osv/osv.py", line 197, in execute
res = self.execute_cr(cr, uid, obj, method, args, *kw)
File "/opt/bitnami/apps/openerp/lib/openerp-7.0_20130725_231029-py2.7.egg/openerp/osv/osv.py", line 185, in execute_cr
return getattr(object, method)(cr, uid, args, *kw)
File "/opt/bitnami/apps/openerp/lib/openerp-7.0_20130725_231029-py2.7.egg/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/bitnami/apps/openerp/lib/openerp-7.0_20130725_231029-py2.7.egg/openerp/addons/base/res/res_partner.py", line 593, in _search
count=count, access_rights_uid=access_rights_uid)
File "/opt/bitnami/apps/openerp/lib/openerp-7.0_20130725_231029-py2.7.egg/openerp/osv/orm.py", line 4845, in _search
query = self._where_calc(cr, user, args, context=context)
File "/opt/bitnami/apps/openerp/lib/openerp-7.0_20130725_231029-py2.7.egg/openerp/osv/orm.py", line 4674, in _where_calc
e = expression.expression(cr, user, domain, self, context)
File "/opt/bitnami/apps/openerp/lib/openerp-7.0_20130725_231029-py2.7.egg/openerp/osv/expression.py", line 642, in __init__
self.parse(cr, uid, context=context)
File "/opt/bitnami/apps/openerp/lib/openerp-7.0_20130725_231029-py2.7.egg/openerp/osv/expression.py", line 742, in parse
self.stack = [ExtendedLeaf(leaf, self.root_model) for leaf in self.expression]
File "/opt/bitnami/apps/openerp/lib/openerp-7.0_20130725_231029-py2.7.egg/openerp/osv/expression.py", line 528, in __init__
self.check_leaf()
File "/opt/bitnami/apps/openerp/lib/openerp-7.0_20130725_231029-py2.7.egg/openerp/osv/expression.py", line 584, in check_leaf
raise ValueError("Invalid leaf %s" % str(self.leaf))
ValueError: Invalid leaf phone