Php Odoo XML-RPC回溯(最近一次调用)

Php Odoo XML-RPC回溯(最近一次调用),php,odoo,xml-rpc,odoo-12,ripcord,Php,Odoo,Xml Rpc,Odoo 12,Ripcord,我是奥多的新手,我没有使用该系统的经验,我试着按照文档中的说明去做 首先,我需要将外部PHP web应用程序连接到我们的Odoo系统 我认为这是可能的,我遵循该文档中的步骤: 所以我坚持在这里: $common = ripcord::client("$url/xmlrpc/2/common"); $common->version(); 当我执行那几行代码时,我得到了一个错误: [faultString] => Traceback (most recent call last): F

我是奥多的新手,我没有使用该系统的经验,我试着按照文档中的说明去做

首先,我需要将外部PHP web应用程序连接到我们的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()。从第一个示例中,我成功地获得了用户名、密码和数据库名。但在那之后我什么也做不了

更新: 这是我的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()
         ]);
    }
}

问题是开伞索。我测试了一个从中克隆的,在本地运行的odoov12,并从接收请求到发送响应一直进行调试。一切都能无缝地工作,直到它到达撕裂线


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

问题在于开伞索。我测试了一个从中克隆的,在本地运行的odoov12,并从接收请求到发送响应一直进行调试。一切都能无缝地工作,直到它到达撕裂线


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

例如XML-RPC客户端。我以odoo为例,他们建议使用XML-RPC。如果你有另一个库,我愿意使用它有两个选择,不过我从来没有使用过。并意识到XML-RPC指的是协议,而不是实现它的库。我发现了错误。他很愚蠢。顺便说一句,图书馆正在工作。我发现的新的不工作。我会看看我能不能让它运行,但现在我会使用旧的,因为现在是好的。问题是我使用了旧的URL,但需要从$this->server['host']删除。不是这个->\u url。太好了!祝贺例如XML-RPC客户端。我以odoo为例,他们建议使用XML-RPC。如果你有另一个库,我愿意使用它有两个选择,不过我从来没有使用过。并意识到XML-RPC指的是协议,而不是实现它的库。我发现了错误。他很愚蠢。顺便说一句,图书馆正在工作。我发现的新的不工作。我会看看我能不能让它运行,但现在我会使用旧的,因为现在是好的。问题是我使用了旧的URL,但需要从$this->server['host']删除。不是这个->\u url。太好了!祝贺