【问题标题】:OpenERP XML RPC error: 'sale_order' object has no attribute 'order_confirm'OpenERP XML RPC 错误:“sale_order”对象没有属性“order_confirm”
【发布时间】:2011-09-05 09:53:06
【问题描述】:

我正在尝试使用 java 通过 xml rpc 确认销售订单。

我的代码是

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());

当前的错误消息说:

[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 客户端确认相同时,它没有发现任何问题,并且相应的日志显示:

[2011-09-05 10:20:31,138][?] DEBUG_RPC:params:['itflux_demo', 1, '*', 'sale.order', 'order_confirm', 137]

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

我的代码有什么问题?

【问题讨论】:

    标签: xml-rpc openerp


    【解决方案1】:

    尝试使用这个:

    def exec_workflow(self, db, uid, passwd, object, method, id)
    

    而不是:

    def execute(self, db, uid, passwd, object, method, *args)
    

    所以,我猜是这样的:

    rpcResult = rpcClient.call("exec_workflow", DB_NAME, 1, PASSWORD, "sale.order", "order_confirm", saleOrder.getId()); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-21
      • 2014-05-14
      • 2016-04-07
      • 1970-01-01
      • 1970-01-01
      • 2013-07-10
      • 2018-09-01
      相关资源
      最近更新 更多