Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
2 Odpovědi
18503 Zobrazení

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.

Avatar
Zrušit

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

Nejlepší odpověď

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

Avatar
Zrušit
Nejlepší odpověď

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

Avatar
Zrušit

@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 Odpovědi Zobrazení Aktivita
0
bře 16
5572
1
kvě 25
1109
0
úno 22
3117
2
led 22
3281
2
led 22
4395