عند تقديم طلبات البيانات من واجهة برمجة التطبيقات من خلال Apigee Edge، يمكن لمكوّنات Apigee Edge، أي أجهزة التوجيه ومعالجات الرسائل، أو خوادم الخلفية، عرض أخطاء لتطبيقات العميل.
أخطاء من "معالج الرسائل"
معالج الرسائل هو المكوّن الأساسي في Apigee Edge الذي يعالج السياسات ويتفاعل مع خوادم الخلفية. يمكن أن يعرض أخطاءً إذا رصد أي مشاكل، مثل:
مشاكل في الاتصال بالشبكة، وتعذُّر إتمام عملية المصافحة عبر بروتوكول أمان طبقة النقل (TLS)، وعدم توفّر خادم الخلفية،
وعدم تلقّي استجابة أثناء التواصل مع خادم الخلفية
حالات الفشل أثناء تنفيذ السياسة
عناوين HTTP غير صالحة أو ترميز أو مسار أو عدم الالتزام بمواصفات HTTP أو تجاوز حدود المنتجات وما إلى ذلك:
مع طلب HTTP الذي ترسله تطبيقات العميل
أو
مع استجابة HTTP التي يرسلها خادم الخلفية
وغير ذلك الكثير
نموذج خطأ من "معالج الرسائل"
يعرض "معالج الرسائل" دائمًا رمز حالة HTTP متبوعًا برسالة خطأ مع رمز خطأ بتنسيق JSON كما هو موضّح أدناه:
يحصل تطبيق العميل على رمز استجابة مثل المثال التالي:
HTTP/1.1414Request-URI Too Long
تظهر استجابة الخطأ من "معالج الرسائل" بالتنسيق التالي:
يحتوي على رسالة الخطأ التي تصف السبب المحتمل للخطأ
errorcode
رمز الخطأ (يُشار إليه أيضًا باسم رمز العطل) المرتبط بالخطأ
كتالوج أخطاء وقت التشغيل
تقدّم قائمة الأخطاء هذه جميع المعلومات التي تحتاج إلى معرفتها حول رموز أخطاء وقت التشغيل (للأخطاء غير المتعلقة بالسياسات) التي يعرضها مكوّن "معالج الرسائل" في Apigee Edge. ويتضمّن المعلومات التالية لكل رمز من رموز الخطأ:
استخدِم مربّع البحث أدناه لفلترة الجدول وعرض المعلومات المذكورة أعلاه لرمز خطأ معيّن. يمكنك البحث عن رمز الحالة أو أي محتوى في أي حقل
في الجدول.
searchشبكة البحث
رمز الخطأ
الوصف
إصلاح
flow.*
flow.APITimedOut
رمز حالة HTTP:
504 Gateway Timeout
رسالة الخطأ:
API timed out
السبب المحتمل:
يحدث هذا الخطأ في الحالات التالية:
لا يستجيب خادم الخلفية خلال فترة المهلة التي تم ضبطها
من خلال السمة
api.timeout لخادم وكيل واجهة برمجة التطبيقات المحدّد.
تستغرق السياسة وقتًا طويلاً بسبب العمليات التي تتطلّب قدرًا كبيرًا من الحوسبة أو الحمل الزائد أو الأداء الضعيف.
ملاحظة: يقدّم دليل التشغيل هذا تعليمات لتحديد وحلّ المشاكل المتعلّقة برمز الخطأ
messaging.adaptors.http.flow.GatewayTimeout، ولكن يمكنك استخدام دليل التشغيل نفسه لتحديد وحلّ المشاكل المتعلّقة برمز الخطأ flow.APITimedOut.
قد تختلف رسالة الخطأ وتنسيقه حسب طريقة تنفيذ خادم الخلفية.
السبب المحتمل:
يحدث هذا الخطأ إذا استجاب خادم الخلفية برمز الحالة 504 إلى Apigee Edge.
ملاحظة: لا يتم عرض رمز الخطأ
messaging.adaptors.http.flow.ErrorResponseCode كجزء من رسالة الخطأ التي يتم إرسالها إلى تطبيقات العميل. ويحدث ذلك لأنّ Apigee Edge يضبط رمز الخطأ هذا عندما يستجيب خادم الخلفية بخطأ وأي من رموز الحالة 4XX أو 5XX. يمكنك الاطّلاع على رمز الخطأ هذا في "مراقبة واجهة برمجة التطبيقات" أو سجلّات الوصول إلى NGINX أو قاعدة بيانات الإحصاءات.
messaging.adaptors.http.flow.GatewayTimeout
رمز حالة HTTP:
504 Gateway Timeout
رسالة الخطأ:
Gateway Timeout
السبب المحتمل:
يحدث هذا الخطأ إذا لم يستجب خادم الخلفية إلى "معالج الرسائل" في Apigee Edge خلال
فترة مهلة الإدخال/الإخراج التي تم ضبطها في "معالج الرسائل".
يحدث هذا الخطأ إذا لم يتم تمرير العنوان Content-Length من خلال تطبيق العميل كجزء من طلبات HTTP POST وPUT المرسَلة إلى Apigee Edge.
ملاحظة: لا يمكن تسجيل الطلبات التي يتعذّر تنفيذها بسبب هذا الخطأ في أداة Trace، لأنّ "معالج الرسائل" يجري عملية التحقّق هذه في مرحلة مبكرة جدًا، أي قبل معالجة الطلب وتنفيذ أي سياسة في خادم وكيل واجهة برمجة التطبيقات.
يحدث هذا الخطأ إذا لم يتلقَّ معالج الرسائل في Apigee Edge حمولة الطلب من تطبيق العميل خلال
فترة المهلة المحدّدة للإدخال/الإخراج التي تم ضبطها في مكوّن معالج الرسائل.
أدّى عدم تحليل نظام أسماء النطاقات بشكل صحيح لمضيف خادم الخلفية من خلال خادم التفويض المخصّص إلى ظهور عناوين IP غير صالحة، ما أدّى إلى حدوث أخطاء في الاتصال.
أخطاء انتهاء مهلة الاتصال بسبب:
يمنع قيود جدار الحماية على خادم الخلفية
Apigee Edge من الاتصال بخادم الخلفية.
مشاكل في الاتصال بالشبكة بين Apigee Edge وخادم الخلفية
مضيف الخادم المستهدف المحدّد في نقطة النهاية المستهدَفة غير صحيح أو يحتوي على أحرف غير مرغوب فيها (مثل مسافة).
إذا لم يتم حظر عنوان IP الخاص بالعميل، ولكن استمر ظهور هذا الخطأ، يُرجى التواصل مع فريق دعم Apigee Edge.
protocol.http.* - Caused due to bad request
protocol.http.BadFormData
رمز حالة HTTP:
500 Internal Server Error
رسالة الخطأ:
Bad Form Data
السبب المحتمل:
يحدث هذا الخطأ في حال استيفاء جميع الشروط التالية فقط:
يحتوي طلب HTTP الذي يرسله العميل إلى Apigee Edge على ما يلي:
Content-Type: application/x-www-form-urlencoded،
و
بيانات النموذج التي تتضمّن علامة النسبة المئوية (%) أو علامة النسبة المئوية (%) متبوعة بأحرف سداسية عشرية غير صالحة وغير مسموح بها وفقًا
لنماذج الإدخال - الفقرة 17.13.4.1
يقرأ خادم وكيل واجهة برمجة التطبيقات في Apigee Edge مَعلمات النموذج المحدّدة التي تحتوي على أي أحرف غير مسموح بها باستخدام سياسة ExtractVariables أو AssignMessage في مسار الطلب.
يحدث هذا الخطأ إذا ظهر عنوان HTTP معيّن لا يُسمح بتكراره
في Apigee Edge أكثر من مرة بقيم متطابقة أو مختلفة كجزء من
طلب HTTP الذي أرسله تطبيق العميل إلى Apigee Edge.
Header {header_name} contains invalid character {character}
السبب المحتمل:
يحدث هذا الخطأ إذا كان اسم العنوان المُرسَل كجزء من طلب HTTP
من تطبيق العميل إلى Apigee Edge يحتوي على أحرف غير صالحة، مثل
علامة يساوي (=) والفاصلة (،) والفاصلة المنقوطة (؛) وعلامة التبويب وCRLF وحرف السطر الجديد.
يحدث هذا الخطأ إذا كان المسار في عنوان URL لطلب HTTP الذي أرسله تطبيق العميل إلى Apigee Edge يحتوي على أحرف غير مسموح بها وفقًا للمواصفات RFC 3986، القسم 3.3: المسار.
تأكَّد من أنّ المسار في عنوان URL لطلب HTTP الذي يرسله تطبيق العميل إلى Apigee Edge لا يحتوي على أي أحرف غير مسموح بها وفقًا
للمعيار RFC 3986، القسم 3.3: المسار.
protocol.http.MessageReadError
رمز حالة HTTP:
502 Bad Gateway
رسالة الخطأ:
Unexpected I/O after message headers have been read.
السبب المحتمل:
يحدث هذا الخطأ النادر عندما يتلقّى MP بيانات إدخال/إخراج على قناة عندما لا يتوقّع ذلك. يقرأ
MP طلبًا، وقد قرأ جميع العناوين، وتم ضبطه
لقراءة حمولة الطلب. ثم يصادف حدث إدخال/إخراج
يبدو أنّه مخصّص للعناوين نفسها.
إصلاح
ابحث عن رسالة السجلّ للحصول على مزيد من المعلومات حول ما يحدث.
logger.atSevere().log(
"Unexpected I/O after message headers have been read. Channel diagnostics=%s."
+ " HeartBeat=%s",
input.client().getDiagnostic(), message.getHeaders().isHeartBeat());
protocol.http.TooBigBody
رمز حالة HTTP:
413 Request Entity Too Large
رسالة الخطأ:
Body buffer overflow
السبب المحتمل:
يحدث هذا الخطأ إذا كان حجم الحمولة التي يرسلها تطبيق العميل كجزء من طلب HTTP إلى Apigee Edge أكبر من الحدّ المسموح به في Apigee Edge.
يحدث هذا الخطأ إذا كان عنوان URL للطلب الخاص بخادم الخلفية، والذي يمثّله متغيّر التدفق target.url، يتضمّن مسارًا يبدأ بعلامة استفهام (?) بدلاً من شرطة مائلة للأمام (/)، وهو ما يُعدّ غير صالح.
يحدث هذا الخطأ إذا ظهر عنوان HTTP محدّد غير مسموح بتكراره
في Apigee Edge أكثر من مرة بقيم متطابقة أو مختلفة كجزء من
استجابة HTTP التي يرسلها خادم الخلفية إلى Apigee Edge.
Header {header_name} contains invalid character {character}
السبب المحتمل:
يحدث هذا الخطأ إذا كان اسم العنوان الذي أرسله خادم الخلفية كجزء من استجابة HTTP
يحتوي على أحرف غير صالحة، مثل علامة يساوي (=) والفاصلة (،) والفاصلة المنقوطة (؛) وعلامة التبويب
وCRLF وحرف السطر الجديد.
Proxy refused to create tunnel with response status {status code}
السبب المحتمل:
يحدث هذا الخطأ أثناء إنشاء النفق بين Apigee Edge وخادم الخلفية بواسطة خادم وكيل بسبب مشاكل في جدار الحماية وقائمة التحكّم بالوصول (ACL) ونظام أسماء النطاقات (DNS) وتوفّر خادم الخلفية وما إلى ذلك.
ملاحظة: يقدّم رمز الحالة في رسالة الخطأ
(faultstring) السبب العام للمشكلة.
يحدث هذا الخطأ إذا كانت استجابة HTTP من خادم الخلفية إلى Apigee Edge هي 204 No Content أو 205 Reset Content ولكنها تتضمّن نص الاستجابة و/أو رأسًا واحدًا أو أكثر من الرؤوس التالية:
يحدث هذا الخطأ إذا كان الحجم الإجمالي لجميع عناوين الاستجابة التي يرسلها خادم الخلفية كجزء من استجابة HTTP إلى Apigee Edge أكبر من الحدّ المسموح به في Apigee Edge.
يحدث هذا الخطأ إذا كان العنوان Content-Encoding الذي أرسله خادم الخلفية كجزء من استجابة HTTP يحتوي على تنسيق الترميز/الحمولة غير
متوافق مع Apigee Edge.
KeyAlias {KeyAlias_name} is not found in
Keystore {Keystore_Name}
السبب المحتمل:
يحدث هذا الخطأ إذا لم يتم العثور على KeyAlias المحدّد الذي تمت الإشارة إليه في TargetEndpoint أو TargetServer في Keystore المحدّد.
إصلاح
تأكَّد من أنّ KeyAlias المحدّد في TargetEndpoint أو TargetServer
متوفّر وهو جزء من ملف تخزين المفاتيح المحدّد.
security.util.TrustStoreWithNoCertificates
رمز حالة HTTP:
500 Internal Server Error
رسالة الخطأ:
TrustStore {truststore_name} has no certificates
السبب المحتمل:
يحدث هذا الخطأ إذا كان Truststore المحدّد الذي تتم الإشارة إليه في TargetEndpoint أو TargetServer لا يحتوي على أي شهادات.
إصلاح
إذا أردت التحقّق من صحة شهادة خادم الخلفية وأردت استخدام Truststore في TargetEndpoint أو TargetServer، تأكَّد من أنّ Truststore يحتوي على شهادات صالحة لخادم الخلفية.
تاريخ التعديل الأخير: 2025-07-07 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-07 (حسب التوقيت العالمي المتفَّق عليه)"],[],[]]