Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
2 Ответы
18485 Представления

Hello,

I would like to use the JSON-RPC protocol to load OpenERP datas. I can request a session ID and authenticate with correct parameters.

But when I try to load companies by using the model res.company I receive an exception.

My request :

{"jsonrpc":"2.0","method":"call","params":{"model":"res.company","fields":["currency_id","email","website","company_registry","vat","name","phone","partner_id"],"domain":[["id","=",1]],"context":{"lang":"fr_FR","tz":"Europe/Brussels","uid":1},"offset":0,"limit":false,"sort":"","session_id":"bf3f8e7849f14014a3bd6e24eece548e"},"id":"r4"}

The reponse :

Request done, StatusCode #200

{"jsonrpc": "2.0", "id": "r4", "error": {"message": "OpenERP WebClient Error", "code": 300, "data": {"debug": "Client Traceback (most recent call last):\n File \"C:\Program Files (x86)\OpenERP 7.0\Server\server\openerp\addons\web\http.py\", line 204, in dispatch\n File \"C:\Program Files (x86)\OpenERP 7.0\Server\server\openerp\addons\web\controllers\main.py\", line 1056, in search_read\n File \"C:\Program Files (x86)\OpenERP 7.0\Server\server\openerp\addons\web\controllers\main.py\", line 1076, in do_search_read\n File \"C:\Program Files (x86)\OpenERP 7.0\Server\server\openerp\addons\web\session.py\", line 158, in model\nSessionExpiredException: Session expired\n", "type": "client_exception"}}}

Any idea ?

PS : I receive the same response with other requests... :(

Thank you so much.

Аватар
Отменить

You need to set the sid cookie value on all JSON requests. You get that value in response to your authenticate request.

@Boris I got same error in JSON. any help??

@boris: have you solve this issue. I have the same.

Hi, have you fine any solution.
I have the same error on odoo 14

Лучший ответ

Hi,

Sometimes Odoo has limitation to run rpc query, It shown session expired if we look into inspect.
So in this case we can use ajax.jsonRpc. It will run efficiently.

ajax.jsonRpc('/shop/get_dates', 'call',
{ 'sale_id': sale_id }).then(function (result) {
self.dates = result;
});

python

class CheckOutOrders(http.Controller):

@http.route(['/shop/get_dates'], type='json', auth="public", website=True)
def get_enable_date(self, sale_id):
return

Regards

Аватар
Отменить
Лучший ответ

You need to set the sid cookie value on all JSON requests. You get that value in response to your authenticate request.

Аватар
Отменить

@James Morgan, I use get2.setHeader("Cookie:","session_id=da4ae8e310eb4ebb8349692f057ecb42"); But I got same error. any help??

@ranjith I have the same issue, did you get a solution?

Related Posts Ответы Просмотры Активность
0
мар. 16
5562
1
мая 25
1090
0
февр. 22
3106
2
янв. 22
3264
2
янв. 22
4365