跳至内容
菜单
此问题已终结
2 回复
13179 查看

Hi,

I'm working on integration between Odoo V8 and Drupal 7 and am having a bit of trouble making a connection to my Saas at https://cool-test1.odoo.com/

I'm using the code examples available at https://www.odoo.com/documentation/8.0/api_integration.html

When I use the URL https://demo.odoo.com/start in the $info = section I get a valid response

<?php

  $url = 'https://cool-test1.odoo.com';
  $db = 'cool-test1';
  $username = "admin";
  $password = '*****';

  require_once('ripcord-1.1/ripcord.php');
  $info = ripcord::client('https://demo.odoo.com/start')->start();
  list($url, $db, $username, $password) = array($info['host'], $info['database'], $info['user'], $info['password']);

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

  $uid = $common->authenticate($db, $username, $password, array());

?>

When I change $info = ripcord::client('https://demo.odoo.com/start')->start() to equal my saas server e.g. $info = ripcord::client('https://cool-test1.odoo.com/start')->start(); I get the below error:

Fatal error: Uncaught exception 'Ripcord_TransportException' with message 'Could not access https://cool-test1.odoo.com/start' in /usr/local/nginx/html/xmlrpc/ripcord-1.1/ripcord_client.php:488 Stack trace: #0 /usr/local/nginx/html/xmlrpc/ripcord-1.1/ripcord_client.php(228): Ripcord_Transport_Stream->post('https://cool-te...', '__call('start', Array) #2 /usr/local/nginx/html/xmlrpc/test.php(9): Ripcord_Client->start() #3 {main} thrown in /usr/local/nginx/html/xmlrpc/ripcord-1.1/ripcord_client.php on line 488

I have noticed that when you visit https://demo.odoo.com/start in a browser you get an XMLRPC error about the method, when you visit my Saas https://cool-test1.odoo.com/start you just get a 404.

Is there something I need to enable on my Saas somewhere? I followed the instructions here https://www.odoo.com/forum/help-1/question/is-the-xml-rpc-api-available-on-openerp-online-915 and enabled a password on my admin user which I'm using in my test code.

Any help would be much appreciated.

Thanks,

 

 

 

 

形象
丢弃
最佳答案

Following code is valid and working fine tested on multiple servers. but one of my live server gives me error of  Could not access ###.###.###.##:8069  

$url = 'https://###.###.###.##:8069'; 
$db = 'demo';
$username = 'user_name';
$password = 'password';
$common = ripcord::client("$url/xmlrpc/2/common");
$models = ripcord::client("$url/xmlrpc/2/object");
$common->version();
$uid = $common->authenticate($db, $username, $password, array());

Check your server settings as I found the solution from someone else.

  1. Domain seemed to have a poblem with the default RipcurlTransport (Stream); perhaps a problem with file system permissions. Switching to Curl solved the problem of not being able to connect to the Odoo demo database.
  2. The server is behind a Firewall, which needed to allow outgoing connections to port 8069. This solved the problem of not being able to connect to the production database.

It may help.

形象
丢弃
最佳答案

replace your URL to this https://www.odoo.com/start/xmlrpc

use your odoo account & password (when your register to odoo.com) to login.

for local URL will be like this http://localhost:8069 (without /start/xmlrpc).

you can try to use Java with this solution from this question

https://www.odoo.com/forum/help-1/question/how-to-access-odoo-8-using-java-xmlrpc-83836

形象
丢弃
相关帖文 回复 查看 活动
3
7月 25
3954
1
10月 24
2887
1
4月 24
2944
0
9月 23
2251
1
6月 23
2759