Я новичок в Odoo, и у меня нет опыта работы с системой, и я стараюсь следовать документации, как они это делают.
Для начала мне нужно подключить внешнее веб-приложение PHP к нашей системе Odoo.
Я вижу, что это возможно, и я следую инструкциям в этой документации: Документация Odoo
Так что я воткнусь:
$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/), который они рекомендуют. И из первого примера я успешно получаю имя пользователя, пароль, имя базы данных. Но после этого я ничего не могу сделать.
UPDATE:
Это мой класс 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()
]);
}
}