تخطي للذهاب إلى المحتوى

حل مشكلة Odoo Jsonrpc في Odoo — دليل كامل لإصلاحها

دليلك المبسَّط لإصلاح خطأ jsonrpc في أودو: فهم السبب وحلول عملية للمستخدمين والمطورين أحيانًا يواجه مستخدمو ومطورو أودو رسالة خطأ متعلقة بـ jsonrpc ت阻止 النظام عن العمل الطبيعي. هذا الدليل يشرح بسهولة ما الذي يحدث عادةً، ما الأسباب الشائعة التي تؤدي للخطأ، وكيف تصلح المشكلة خطوة بخطوة — سواء كنت مستخدمًا عاديًا أو مطورًا يحتاج حلًا تقنيًا. أولًا: ما هو خطأ jsonrpc ولماذا يهم؟ خطأ jsonrpc يرتبط بطريقة تبادل البيانات بين واجهة المستخدم وخادم أودو. عندما يفشل هذا الاتصال أو تُرسل بيانات غير متوافقة، تظهر أخطاء تمنع الوظائف من إكمال المطلوب (نماذج لا تُحمّل، عمليات حفظ تفشل، صفحات تتجمد). فهم أصل المشكلة يوفر طريقًا واضحًا للإصلاح بدل التخمّن. الأسباب الشائعة - مشكلات في الشبكة أو في إعدادات الخادم (مثلاً: اتصال بطيء، بوابة موجه خاطئة، جدار ناري يحجب الطلبات). - أخطاء في التكوين مثل مفاتيح API غير صحيحة، ضبط البروكسي، أو إعدادات SSL/TLS غير مطابقة. - بيانات JSON غير صحيحة أو استدعاءات RPC بصيغة خاطئة من واجهات برمجية أو إضافات (modules). - تعارضات الإضافات أو تغييرات غير متوافقة في الكود المخصص تؤدي إلى استثناءات على مستوى الخادم. فحص سريع قبل البدء 1) افتح سجل الأخطاء (logs) لخادم أودو وابحث عن رسائل jsonrpc مفصلة—الوقت، المسار، ونص الخطأ يعطيان دليلًا قيمًا. 2) تأكد من أن المتصفح لا يحجب الطلبات (تحقق من أدوات المطور - Network). 3) جرّب إعادة تشغيل خدمة أودو وواسطات الويب (nginx/Apache) للتحقق من مؤقتة المشاكل. خطوات إصلاح موجهة (من السهل إلى المتقدم) 1. إعادة التشغيل البسيطة: أعد تشغيل خدمات أودو وملقم الويب، وامسح ذاكرة المتصفح وملفات التخزين المؤقت. كثير من الأخطاء المؤقتة تزول بهذه الخطوة البسيطة. 2. تحقق من السجلات التفصيلية: شغّل أودو في وضع التطوير أو زد مستوى التسجيل logging إلى DEBUG ثم راجع السجل لمعرفة الاستثناء أو الرسالة التي تولِّد jsonrpc error. 3. اختبار الشبكة: استخدم curl أو Postman لعمل طلبات JSON-RPC يدوياً إلى نقطة النهاية endpoint وتأكد من أن الاستجابة سليمة. 4. فحص التوافق والملحقات: عطّل الإضافات المخصصة مؤقتًا ثم أعد اختبار النظام؛ إن زال الخطأ عند تعطيل إضافة معينة فأنت أمام إضافة متسببة وتحتاج فحص الكود. 5. تحقق من إعدادات SSL/Browsers: إذا كان الاتصال عبر HTTPS فتأكد من صلاحية الشهادة ومن إعدادات البروكسي. أخطاء SSL قد تقطع جلسة JSON-RPC. 6. راجع الصيغ المرسلة: تأكد أن جسم الطلب (payload) هو JSON صالح ويمتثل لبروتوكول JSON-RPC (حقول method, params, id, jsonrpc). أخطاء بسيطة في المفتاح أو نوع البيانات قد توقف المعالجة. 7. إعادة نشر الكود وتحديث قواعد البيانات: إن كان التغيير حديثًا، أعد نشر النسخة المستقرة أو استرجع النسخة الاحتياطية ثم نفّذ تحديثات الإضافات (odoo -u all) بحذر. نصائح للمطورين - فعِّل سجلات مفصلة عند التطوير ووفر نقاط تحقق (assertions) لقيم params قبل تنفيذ المنطق. - استعمل أدوات اختبار API تلقائيًا للتحقق من استدعاءات JSON-RPC بعد كل تغيير. - غلاف try/except واضح وعودة رسائل أخطاء قابلة للقراءة بدل إسقاط استثناءات خام داخل الاستجابة. متى تحتاج مساعدة خارجية إذا ظلت المشكلة مستمرة بعد الخطوات السابقة، قد تكون المشكلة متعلقة بالبنية التحتية (خادم سحابي، إعدادات الشبكة المتقدمة، قواعد جدار الحماية المؤسسية) أو خطأ عميق في أحد الإضافات. في هذه الحالة تواصل مع مسؤول النظام لديك أو مطور أودو مختص مع إرفاق أجزاء من سجلات الخطأ وخطوات التكاثر reproduction steps. خلاصة أخطاء jsonrpc في أودو شائعة لكنها في معظم الأحيان قابلة للتشخيص والإصلاح باتباع فحص السجلات، اختبار الشبكة، وتعطيل الإضافات المشكوك فيها. اتبع خطوات التحقق من التكوين والبيانات قبل الدخول في تغييرات جذرية، واحتفظ دومًا بنسخة احتياطية قبل أي تحديث أو نشر.
26 فبراير 2026 بواسطة
Elisa Van Outrive
لا توجد تعليقات بعد

مقدمة سريعة


خطأ Odoo JSONRPC يحدث عندما يفشل طلب مرسل إلى أودو عبر بروتوكول JSON-RPC. هذا البروتوكول هو العمود الفقري لتبادل البيانات بين واجهة الويب والواجهات الخارجية الحديثة.


على عكس XML-RPC، يُستخدم JSON-RPC بشكل واسع في:


  • تفاعلات واجهة الويب
  • التكاملات المخصصة مع أنظمة خارجية
  • نسخ أودو الخالية من الواجهة (headless)
  • مزامنة البيانات مع أنظمة خارجية

عندما يحدث خطأ أثناء استدعاء JSON-RPC، يرد أودو برد خطأ غالباً ما يظهر بصيغة:


RPC_ERROR: Odoo Server Error

أو في استجابات الـ API ككائن JSON يحتوي على حقل خطأ.


هذه المقالة تشرح معنى أخطاء JSONRPC في أودو وتعرض خطوات عملية لحلّها بشكل منهجي.

ما المقصود بـ JSON-RPC في أودو؟


JSON-RPC (استدعاء إجراءات عن بُعد مع JSON) يتيح للعميل استدعاء دوال أودو عبر HTTP باستخدام حزم بيانات بصيغة JSON.


بشكل عملي، الطلبات تحمل هيكل محدد ويحتوي على معلومات الخدمة والطريقة والمعرف لتتبع الاستجابة.


{
  "jsonrpc": "2.0",
  "method": "call",
  "params": {
    "service": "object",
    "method": "execute_kw",
    "args": [
      "database_name",
      2,
      "password",
      "res.partner",
      "search",
      [[["is_company", "=", true]]]
    ]
  },
  "id": 1
}

إذا واجه الخادم استثناءً أثناء المعالجة، يرد أودو باستجابة خطأ مفصّلة بصيغة JSON توضح نوع الاستثناء.


أسباب شائعة لظهور أخطاء JSONRPC في أودو


1. فشل المصادقة

قد تنشأ المشكلة عندما يحتوي الطلب على أي من الحالات التالية:

  • بيانات اعتماد خاطئة
  • قاعدة بيانات غير صحيحة
  • جلسة منتهية الصلاحية

في هذه الحالات يرفض أودو تنفيذ الطلب.


قِطع الاتصال بسبب المصادقة من أكثر أسباب أخطاء JSONRPC تكراراً في التكاملات.


2. استدعاء طريقة غير صحيح

الأخطاء تظهر إذا كان الحمولة تشير إلى أي مما يلي:

  • نموذج غير موجود
  • دالة غير معرّفة على النموذج
  • وسائط الدالة غير متوافقة أو ناقصة

في هذه الحالات يثير الخادم استثناءً يُعاد ضمن رد JSONRPC.


3. حقول مطلوبة مفقودة

عند تنفيذ عمليات إنشاء أو تعديل، وحذف حقول إجبارية، يرفع أودو خطأ تحقق يظهر في استجابة JSON.

مثال توضيحي:

{
  "name": "Order 001"
}

إذا كان حقل partner_id إلزامياً ولم يُرسل → ستظهر رسالة خطأ.


4. قيود صلاحيات الوصول

إذا كان المستخدم الذي ينفذ الطلب يفتقد الصلاحية المناسبة، يرد أودو بخطأ متعلق بالصلاحيات في شكل JSON.

هذا شائع في بيئات الإنتاج حين تكون حسابات التكامل محدودة الصلاحيات.


5. معرفات علاقات غير صالحة

إرسال معرفات Many2one غير موجودة في السجلات يؤدي إلى استثناء في الخادم.


مثال توضيحي:


{
  "partner_id": 99999
}

إذا لم يكن المعرف 99999 موجودًا → يُعاد خطأ JSONRPC يوضح ذلك.


6. انتهاك قيود قاعدة البيانات

أمثلة على هذه الأخطاء تتضمن:

  • محاولة إدخال قيمة مكررة لحقل فريد
  • فشل قيد المفتاح الأجنبي
  • قيد عدم السماح بالقيم الفارغة (NOT NULL)

مثل هذه الأخطاء تظهر ضمن ردود JSONRPC عند محاولة حفظ بيانات غير مطابقة للقيود.


7. نفاد المدة أو عمليات ثقيلة

حِملات كبيرة أو عمليات دفع بيانات ضخمة قد تتجاوز حدود المهلة، خاصة في التكاملات عالية الحجم.



خطوات عملية لإصلاح خطأ JSONRPC في أودو


الخطوة 1 – فحص رد الخطأ بصيغة JSON

معظم ردود JSONRPC تتضمن عناصر مفيدة مثل:

  • نوع الخطأ
  • نص رسالة الخطأ
  • سجل الاستدعاء (traceback) عند التوفر

اقرأ تفاصيل الاستثناء بعناية لاستخراج السبب الحقيقي للمشكلة.


الخطوة 2 – التأكد من المصادقة

تحقق من الأمور التالية:

  • اسم القاعدة دقيق وصالح
  • معرّف المستخدم أو رمز الجلسة ساري
  • كلمة المرور أو مفتاح API صحيح
  • الحساب مفعل وليس مُعطلاً

الخطوة 3 – التحقق من بنية الحمولة

قبل إرسال الطلبات:

  • تأكد من وجود الحقول الإلزامية
  • تحقق من صحة المعرفات المرتبطة (relational IDs)
  • تجنّب إرسال قيم خالية في الحقول المطلوبة
  • ضمن أنواع البيانات الصحيحة لكل حقل

التحقق الهيكلي من البيانات قبل الإرسال يمنع كثيراً من أخطاء وقت التشغيل.


الخطوة 4 – مراجعة صلاحيات المستخدم

تأكد أن حساب التكامل يمتلك الصلاحيات اللازمة مثل:

  • صلاحية القراءة
  • صلاحية التعديل/الكتابة
  • صلاحية الإنشاء
  • وصلاحية الحذف إن لزم الأمر

بحسب الإجراء المطلوب تنفيذه.


الخطوة 5 – التجربة داخل واجهة أودو

حاول تكرار نفس العملية يدوياً في واجهة أودو.

إذا فشلت العملية عبر الواجهة، فالمشكلة غالباً بياناتية أو متعلقة بالصلاحيات وليس بالبروتوكول فقط.


الخطوة 6 – الاطلاع على سجلات الخادم

إذا كان رد JSON عامّاً وغير كافٍ، اطلع على سجلات أودو في الخادم للحصول على traceback كامل وتفاصيل الخطأ.





إجراءات للوقاية من أخطاء JSONRPC



  • نصائح عملية للحدّ من الأخطاء:
  • استخدم حسابات API مخصصة لكل تكامل
  • قم بفلترة والتحقق من البيانات قبل الإرسال
  • سجل طلبات واستجابات الـ API لمراقبة الأخطاء
  • طبق معالجة منظمة للأخطاء في طبقة التكامل
  • تجنّب إرسال عمليات مجمّعة كبيرة في طلب واحد

اختبر سير عمل التكامل في بيئة اختبار (staging) قبل الإنتاج



كيف تُقوّي Dasolo اتصال JSONRPC


في بيئات أودو المدفوعة بالـ API، وضع طبقة وسيطة للتحقق وتحويل البيانات بين الأنظمة يخفّض كثيراً من أخطاء JSONRPC الناجمة عن جلسات غير متسقة أو طلبات مشوّهة أو منطق خادم غير محقق. لأن JSONRPC هو مسار التفاعل الرئيسي في الويب داخل أودو، أي خلل بسيط في الإعداد قد يتسبب في فشل متكرر للواجهة.


في Dasolo، نعزّز ثبات اتصال JSONRPC عبر ممارسات عملية مثل:

  • التحقق المنظم من بنية الطلبات والحقول
  • إدارة جلسات مُحكمة وآمنة
  • أنماط واضحة لمعالجة الاستثناءات وإعادة المحاولة
  • حصر النهايات المكشوفة وتأمينها
  • تسجيل تفصيلي لمكالمات الـ API وتحليلات للأخطاء

توفر هذه المنهجية إطار اتصال موحّد يقلل من الأخطاء المفاجئة ويحسّن موثوقية المنصة ككل.




خاتمة موجزة


عادةً ما يظهر خطأ “JSONRPC Error” في أودو عندما يقطع استثناء في الخادم تواصل العميل والخادم. رغم أن الرسالة قد تبدو عامة، إلا أنها في الغالب تعكس مشاكل أعمق في صياغة الطلب، المصادقة، أو منطق الخادم.


بمراجعة بنى الـ API، التحقق المسبق من المدخلات، وتطبيق معالجة أخطاء متوقعة، يمكن للمطوّرين تقليل تكرار انقطاع JSONRPC. طبقة اتصال مصمّمة جيداً تضمن تفاعلاً أكثر استقراراً وكفاءة داخل بيئات أودو.




Elisa Van Outrive 26 فبراير 2026
شارك هذا المنشور
تسجيل الدخول حتى تترك تعليقاً

قراءة التالي
حل مشكلة Odoo Webhook في Odoo — دليل كامل وسهل التطبيق
دليل عملي لحل أخطاء Webhook في أودو: شرح مبسَّط للأسباب الشائعة وخطوات الإصلاح لكل مستخدم ومطوِّر أودو. في هذا المقال ستجد شرحًا واضحًا لما يحدث عند فشل اتصال الويب هوك، كيف تتعرّف على مصدر المشكلة (تهيئة، مصادقة، زمن استجابة أو خطأ في الخادم)، وأدوات التشخيص الأساسية مثل سجلات أودو، سجلات الخادم، وطلب الاختبار (curl/Postman). بعد ذلك نمر إلى حلول مرتبة من الأسهل إلى الأعمق: التحقق من عنوان URL ونقاط النهاية، ضبط مفاتيح المصادقة ورؤوس الطلبات، التعامل مع ردود الحالة (2xx/4xx/5xx)، ضبط مهلة الاتصال وإعادة المحاولة، والتحقق من شهادات SSL/TLS. كما نوضّح خطوات عملية لإعادة إرسال الطلبات الفاشلة، طريقة اختبار Webhook محليًا باستخدام أدوات نفق مثل ngrok، ونصائح لتأمين Webhook وتسجيل الأحداث لمتابعة الأخطاء لاحقًا. الخلاصة: ستخرج من هذا الدليل بقائمة تحقق جاهزة لحل أغلب مشاكل Webhook في بيئة أودو وتقنيات ملموسة لتطبيقها فورًا.