Forum

Benvenuto!

Questo è il forum ufficiale dell'Associazione Odoo Italia. Dopo esserti registrato potrai partecipare ponendo domande o rispondendo a quelle esistenti. Non scordarti di compilare il tuo profilo e consultare le linee guida prima di iniziare a scrivere.

0

[RISOLTO] XMLRPC cannot marshal <class \'_thread.lock\'> objects\n'>

Avatar
Davide Davin

Durante una chiamtate XMLRPC di tipo action a volte ottengo un bel

cannot marshal <class \'_thread.lock\'> objects\n'>

self.odoo_connect.action(odoo_table_name, 'action_name', [id], {'open_wizard': False})

Avatar
Abbandona
1 risposta
1
Avatar
Davide Davin
Migliore risposta

La funzione chiamata "action_name" non restituisce alcun dato o restituisce una dato non "Marshalabile" esempio una class. Di conseguenza il client XML_RPC che ha effettuato la chimata non riesce a trasformare il risultato.

Questo problema si risolve creando una seconda funzione che chiama la funzione iniziale e restituisce True.

Es:
lato odoo
def action_do(self):
    ....
    ....
    .....
def xml_action_do(self):
    self.action_do()
    return True

Lato XML_RPC client
execute_kw($db, $uid, $password,'xml_action_do', [<ID>]);

Avatar
Abbandona