Hello
I am following the suggestions from this post (https://www.odoo.com/forum/help-1/question/is-the-xml-rpc-api-available-on-openerp-online-915) and using the sample code from openerplib, as follow
import openerplib
DATABASE = 'mydb'
USERNAME = 'admin'
PASSWORD = 'mypass'
SERVER = 'https://' + DATABASE + '.my.openerp.com'connection = openerplib.get_connection(hostname=SERVER, \
database=DATABASE, login=USERNAME, password=PASSWORD)
user_model = connection.get_model("res.user")
print user_model
ids = user_model.search([("login", "=", "admin")])
user_info = user_model.read(ids[0], ["name"])
print user_info["name"]
# will print "Administrator"
But getting a connection error as detailed below
<openerplib.main.Model object at 0xb70376cc>
Traceback (most recent call last):
File "odoo-t2.py", line 12, in <module>
ids = user_model.search([("login", "=", "admin")])
File "build/bdist.linux-i686/egg/openerplib/main.py", line 305, in proxy
File "build/bdist.linux-i686/egg/openerplib/main.py", line 243, in check_login
File "build/bdist.linux-i686/egg/openerplib/main.py", line 180, in proxy
File "build/bdist.linux-i686/egg/openerplib/main.py", line 83, in send
File "/usr/lib/python2.7/xmlrpclib.py", line 1224, in __call__
return self.__send(self.__name, args)
File "/usr/lib/python2.7/xmlrpclib.py", line 1578, in __request
verbose=self.__verbose
File "/usr/lib/python2.7/xmlrpclib.py", line 1264, in request
return self.single_request(host, handler, request_body, verbose)
File "/usr/lib/python2.7/xmlrpclib.py", line 1292, in single_request
self.send_content(h, request_body)
File "/usr/lib/python2.7/xmlrpclib.py", line 1439, in send_content
connection.endheaders(request_body)
File "/usr/lib/python2.7/httplib.py", line 997, in endheaders
self._send_output(message_body)
File "/usr/lib/python2.7/httplib.py", line 850, in _send_output
self.send(msg)
File "/usr/lib/python2.7/httplib.py", line 812, in send
self.connect()
File "/usr/lib/python2.7/httplib.py", line 793, in connect
self.timeout, self.source_address)
File "/usr/lib/python2.7/socket.py", line 553, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
socket.gaierror: [Errno -2] Name or service not known
I have tried also with xmlrpclib and oerplib, with similar error results
This is the sample code using plain xmlrpclib (this is the one I'd like to see working !!!)
server = ServerProxy(SERVER + '/xmlrpc/common')
user_id = server.login(DATABASE, USERNAME, PASSWORD)server = ServerProxy(SERVER + '/xmlrpc/object')
user_ids = server.execute(DATABASE, user_id, PASSWORD,
'res.users', 'search', []
)users = server.execute(DATABASE, user_id, PASSWORD,
'res.users', 'read', user_ids, []
)for user in users:
print(user['id'], user['name'])
I should be missing something very trivial or connectiong to Odoo online requires something else?
Thanks for your support on my first steps into Odoo API land,
Fausto