首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenERP XML RPC错误:'sale_order‘对象没有属性'order_confirm’

OpenERP XML RPC错误:'sale_order‘对象没有属性'order_confirm’
EN

Stack Overflow用户
提问于 2011-09-05 17:53:07
回答 1查看 2.1K关注 0票数 1

我正在尝试通过xml rpc和java确认一个销售订单。

我的代码是

代码语言:javascript
复制
Log.i(MY_DEBUG_TAG, "XML RPC Confirming the sale order "+saleOrder.getId());
rpcResult = rpcClient.call("execute", DB_NAME, 1, PASSWORD, "sale.order", "order_confirm", saleOrder.getId()); 
Log.i(MY_DEBUG_TAG, "XML RPC RESULT = "+rpcResult.toString());

而curreponding错误消息是这样写的:

代码语言:javascript
复制
[2011-09-05 10:49:56,139][?] DEBUG_RPC:service:'object'
[2011-09-05 10:49:56,139][?] DEBUG_RPC:method:u'execute'
[2011-09-05 10:49:56,139][?] DEBUG_RPC:params:['itflux_demo', 1, '*', 'sale.order', 'order_confirm', 137]
[2011-09-05 10:49:56,140][itflux_demo] ERROR:web-services:Uncaught exception
Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/openerp-server/osv/osv.py", line 122, in wrapper
    return f(self, dbname, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/openerp-server/osv/osv.py", line 176, in execute
    res = self.execute_cr(cr, uid, obj, method, *args, **kw)
  File "/usr/lib/python2.5/site-packages/openerp-server/osv/osv.py", line 167, in execute_cr
    return getattr(object, method)(cr, uid, *args, **kw)
AttributeError: 'sale_order' object has no attribute 'order_confirm'
[2011-09-05 10:49:56,140][itflux_demo] DEBUG_RPC:exception:u"'sale_order' object has no attribute 'order_confirm'"
[2011-09-05 10:49:56,140][itflux_demo] DEBUG_RPC:xmlrpc:"POST /object HTTP/1.1" 200 -

并且记录的状态仍然是draft

当我尝试通过gtk客户端确认时,它没有发现任何问题,相应的日志显示:

代码语言:javascript
复制
[2011-09-05 10:20:31,138][?] DEBUG_RPC:params:['itflux_demo', 1, '*', 'sale.order', 'order_confirm', 137]

并且记录的状态从draft更改为manual

我的代码出了什么问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-06 19:06:24

尝试使用以下命令:

代码语言:javascript
复制
def exec_workflow(self, db, uid, passwd, object, method, id)

而不是:

代码语言:javascript
复制
def execute(self, db, uid, passwd, object, method, *args)

所以,我猜会是:

代码语言:javascript
复制
rpcResult = rpcClient.call("exec_workflow", DB_NAME, 1, PASSWORD, "sale.order", "order_confirm", saleOrder.getId()); 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7306403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档