Odoo XML-RPC追溯(最近一次通话结束)

时间:2019-05-15 11:43:13

标签: php odoo xml-rpc odoo-12 ripcord

我是Odoo的新手,我没有使用该系统的经验,请尝试按照文档操作。

首先,我需要连接外部PHP Web应用程序和我们的Odoo系统。

我认为这是可能的,并且请遵循该文档中的步骤:Odoo Documentation

所以我坚持在这里:

$common = ripcord::client("$url/xmlrpc/2/common");
$common->version();

当我执行那几行代码时,我得到那个错误:

[faultString] => Traceback (most recent call last):
File "/home/odoo/src/odoo/12.0/odoo/addons/base/controllers/rpc.py", line 63, in xmlrpc_2
response = self._xmlrpc(service)
File "/home/odoo/src/odoo/12.0/odoo/addons/base/controllers/rpc.py", line 42, in _xmlrpc
params, method = loads(data)
File "/usr/lib/python3.5/xmlrpc/client.py", line 1000, in loads
p.close()
File "/usr/lib/python3.5/xmlrpc/client.py", line 447, in close
parser.Parse(b"", True) # end of data
xml.parsers.expat.ExpatError: no element found: line 1, column 0

我使用他们推荐的演示URL(https://demo.odoo.com/)。从第一个示例中,我可以成功获取用户名,密码,数据库名称。但是之后我什么也做不了。

更新: 那是我需要测试的PHP类:

require_once(__DIR__ . '/Ripcode/ripcord.php');

class Ripcode
{
    private $_url = 'https://demo.odoo.com/';

    private $_server = [];

    private $_connection = null;

    private $_common = null;

    public function __construct()
    {
         $this->_server = \ripcord::client($this->_url . 'start')->start();
         $common = \ripcord::client($this->_url . "xmlrpc/2/common");
         $common->version();

         $models = \ripcord::client($this->_url . "xmlrpc/2/object");

         $uid = $common->authenticate(
             $this->_server['database'],
             $this->_server['user'],
             $this->_server['password'],
             array()
         );

         showArray([
            'server' => $this->_server,
            'uid' => $uid
         ]);

         showArray([
            'server' => $this->_server,
            'models' => $models,
            'uid' => $uid
            'common' => $common->version()
         ]);
    }
}

1 个答案:

答案 0 :(得分:0)

问题是ripcord。我用本地运行的Odoo v12测试了从https://github.com/poef/ripcord克隆的一个,并从接收请求一直调试到发送响应为止。一切都可以无缝进行,直到被撕破为止。

我可以建议使用另一个XML-RPC客户端吗?