عند إرسال طلبات البيانات من واجهة برمجة التطبيقات من خلال Apigee Edge، يمكن أن تُعرِض مكونات Apigee Edge، وهي أجهزة التوجيه ومعالجات الرسائل، أو خوادم الخلفي
أخطاء لتطبيقات العميل.
الأخطاء الواردة من Message Processor
إنّ "معالج الرسائل" هو المكوّن الأساسي في Apigee Edge الذي يعالج السياسات ويتفاعل مع خوادم الخلفية. في حال رصد أي مشاكل، مثل:
مشاكل في اتصال الشبكة أو تعذُّر تأكيد اتصال بروتوكول أمان طبقة النقل (TLS) أو عدم توفُّر خادم الخلفية
أو عدم الاستجابة أثناء الاتصال بخادم الخلفية
حالات تعذُّر تنفيذ السياسة
عناوين HTTP أو ترميزها أو مسارها أو عدم التزامها بمواصفات HTTP أو تجاوز حدود المنتجات أو غير ذلك:
باستخدام طلب HTTP تُرسله تطبيقات العميل
أو
مع استجابة HTTP المُرسَلة من خادم الخلفية
وغير ذلك الكثير
نموذج خطأ من Message Processor
يعرض "معالج الرسائل" دائمًا رمز حالة HTTP متبوعًا برسالة خطأ مع
رمز خطأ بتنسيق JSON كما هو موضّح أدناه:
يحصل تطبيق العميل على رمز استجابة مثل المثال التالي:
HTTP/1.1 414 Request-URI Too Long
تظهر استجابة الخطأ من "معالج الرسائل" بالتنسيق التالي:
يحتوي على رسالة الخطأ التي تصف السبب المحتمَل للخطأ
errorcode
رمز الخطأ (يُشار إليه أيضًا باسم رمز الخطأ) المرتبط بالخطأ
كتالوج أخطاء وقت التشغيل
يوفّر هذا الكتالوج عن الأخطاء جميع المعلومات التي تحتاج إلى معرفتها عن رموز أخطاء وقت التشغيل (للأخطاء غير المتعلقة بالسياسة) التي يعرضها مكوّن "معالج رسائل
Apigee Edge". ويتضمن التقرير المعلومات التالية لكل رمز خطأ:
رمز حالة HTTP
رسالة الخطأ
الأسباب المحتملة للخطأ
أيّ مواصفات HTTP و/أو حدود مرتبطة بالمنتج
أدلّة إرشادية وفيديوهات تتضمّن تعليمات لتشخيص سبب الخطأ
والحلول الفعّالة التي يمكنك تطبيقها لمعالجة الخطأ بنفسك (حيثما كان ذلك متاحًا)
استخدِم مربّع البحث أدناه لفلترة الجدول وعرض المعلومات أعلاه لرمز خطأ معيّن. يمكنك البحث عن رمز الحالة أو أي محتوى في أي حقل
في الجدول.
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 خلال
فترة انتهاء مهلة I/O التي تم ضبطها في معالج الرسائل.
يحدث هذا الخطأ إذا لم يتم تمرير عنوان Content-Length
من خلال تطبيق العميل كجزء من طلبات HTTP POST وPUT
المُرسَلة إلى Apigee Edge.
ملاحظة: لا يمكن تسجيل الطلبات التي تؤدي إلى ظهور
هذا الخطأ في أداة "التتبّع"، لأنّ "معالج الرسائل" يُجري
عملية التحقّق هذه في مرحلة مبكرة جدًا، قبل معالجة الطلب
وتنفيذ أي سياسة في "الوكيل لواجهة برمجة التطبيقات".
يحدث هذا الخطأ إذا لم يتلقّى "معالج الرسائل" في Apigee Edge ملف حمولة الطلب
من تطبيق العميل خلال
فترة مهلة I/O التي تم ضبطها في عنصر "معالج الرسائل".
إصلاح
تأكَّد من أنّ تطبيق العميل يُرسِل الحمولة المطلوبة خلال
فترة مهلة I/O التي تم ضبطها في مكوّن Message Processor في Apigee Edge.
messaging.adaptors.http.flow.ServiceUnavailable
رمز حالة HTTP:
503 Service Unavailable
رسالة الخطأ:
The Service is temporarily unavailable
السبب المحتمَل:
يحدث هذا الخطأ في أحد السيناريوهات التالية:
أدّى حلّ نظام أسماء النطاقات غير الصحيح لمضيف خادم الخلفية
من خلال خادم التفويض المخصّص إلى ظهور عناوين IP غير صالحة أدّت بدورها إلى
حدوث أخطاء في الاتصال.
أخطاء انتهت مهلة الاتصال بسبب:
يمنع تقييد جدار الحماية على خادم الخلفية
Apigee Edge من الاتصال بخادم الخلفية.
مشاكل في الاتصال بالشبكة بين Apigee Edge وخادم الخلفي
مضيف الخادم الهدف المحدَّد في "نقطة النهاية المستهدَفة"
غير صحيح أو يحتوي على أحرف غير مرغوب فيها (مثل المسافة).
يحدث هذا الخطأ إذا تعذّر على Apigee Edge توجيه الطلب إلى أي من
TargetEndpoints للأسباب التالية:
ما مِن شرط لقاعدة المسار (<RouteRule>)
يتطابق مع الطلب في الخادم الوكيل
و
لا تتوفّر قاعدة مسار تلقائي محدّدة في ProxyEndpoint
(أي <RouteRule> بدون أي شرط)
إصلاح
لحلّ هذا الخطأ، اتّبِع التعليمات التالية:
راجِع قواعد المسار المحدّدة في ProxyEndpoint وعدِّلها للتأكّد من أنّه
يتوفّر شرط واحد على الأقل لقاعدة مسار يتطابق مع طلبك.
من الممارسات الجيدة تحديد قاعدة مسار تلقائية بدون شرط
عندما يكون لديك عدّة قواعد مسار.
تأكَّد من أنّ قاعدة المسار التلقائية تكون دائمًا محددة في النهاية في قائمة
"المسارات المشروطة"، لأنّه يتم تقييم القواعد من أعلى إلى أسفل في ProxyEndpoint.
إذا لم يتم حظر عنوان 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 مَعلمات النموذج المحدّدة التي تحتوي على أي أحرف غير مسموح بها باستخدام سياسة PermissionVariables أو سياسة AssignMessage في مسار الطلب.
يحدث هذا الخطأ إذا ظهر عنوان HTTP معيّن غير مسموح بأن يكون له نُسخ مكررة في Apigee Edge، ويظهر أكثر من مرة بقيم مختلفة أو بقيم مختلفة كجزء من طلب HTTP المرسَل من تطبيق العميل إلى Apigee Edge.
Header {header_name} contains invalid character {character}
السبب المحتمَل:
يحدث هذا الخطأ إذا كان اسم العنوان الذي تم إرساله كجزء من طلب HTTP
من خلال تطبيق العميل إلى Apigee Edge يحتوي على أحرف غير صالحة، مثل
علامة التساوي (=)، والفاصلة (,)، والفاصلة المنقوطة (؛)، وعلامة التبويب، وCRLF، وحرف Newline.
يحدث هذا الخطأ إذا كان المسار في عنوان URL لطلب HTTP المُرسَل من تطبيق العميل إلى Apigee Edge يحتوي على أحرف غير مسموح بها وفقًا للمواصفات RFC 3986، الفقرة 3.3: المسار.
تأكَّد من أنّ المسار في عنوان URL لطلب HTTP الذي يرسله تطبيق العميل إلى Apigee Edge لا يحتوي على أي أحرف غير مسموح بها
وفقًا للفقرة 3.3 من RFC 3986: المسار.
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.
تأكَّد من أنّ استجابة HTTP التي تم إرسالها إلى Apigee Edge لخادم الخلفية لا تحتوي على أحرف غير ASCII في أسماء العناوين وفقًا لمعيار
RFC 7230، القسم 3.2.6: مكونات قيمة الحقل.
protocol.http.HeaderWithInvalidChar
رمز حالة HTTP:
502 Bad Gateway
رسالة الخطأ:
Header {header_name} contains invalid character {character}
السبب المحتمَل:
يحدث هذا الخطأ إذا كان اسم الرأس الذي يرسله خادم الخلفية كجزء من استجابة HTTP
يحتوي على أحرف غير صالحة، مثل علامة التساوي (=)، والفاصلة (,)، والفاصلة المنقوطة (؛)، وعلامة التبويب،
وعلامة CRLF، وحرف Newline.
Proxy refused to create tunnel with response status {status code}
السبب المحتمل:
يحدث هذا الخطأ أثناء إنشاء النفق بين Apigee Edge وخادم الخلفي
بواسطة الخادم الوكيل بسبب مشاكل في جدار الحماية وقائمة التحكّم بالوصول (ACL) ونظام أسماء النطاقات
وتوفّر خادم الخلفية وما إلى ذلك.
ملاحظة: يقدّم رمز الحالة في رسالة الخطأ
(faultstring) السبب الأساسي للمشكلة.
يحدث هذا الخطأ إذا كانت استجابة HTTP من خادم الخلفية إلى Apigee Edge هي إما 204 No Content أو 205 Reset Content ولكنها تحتوي على نص الاستجابة و/أو عنوان واحد أو أكثر من العناوين التالية:
يحدث هذا الخطأ إذا كان إجمالي حجم جميع رؤوس الاستجابة المُرسَلة من قِبل
خادم الخلفية كجزء من استجابة HTTP إلى Apigee Edge أكبر من
الحدّ المسموح به في Apigee Edge.
KeyAlias {KeyAlias_name} is not found in
Keystore {Keystore_Name}
السبب المحتمَل:
يحدث هذا الخطأ إذا لم يتم العثور على KeyAlias المحدّد المُشار إليه في TargetEndpoint
أو TargetServer في "متجر المفاتيح" المحدّد.
إصلاح
تأكَّد من توفّر Keyalias المحدَّدة في TargetEndpoint أو TargetServer
وجزءًا من ملف تخزين المفاتيح المحدَّد.
security.util.TrustStoreWithNoCertificates
رمز حالة HTTP:
500 Internal Server Error
رسالة الخطأ:
TrustStore {truststore_name} has no certificates
السبب المحتمَل:
يحدث هذا الخطأ إذا كان مخبّر الثقة المحدّد المُشار إليه في TargetEndpoint أو
TargetServer لا يحتوي على أيّ شهادات.
إصلاح
إذا أردت التحقق من صحة شهادة خادم الخلفية وأردت استخدام Truststore في TargetEndpoint أو TargetServer، تأكَّد من أنّ Truststore تحتوي على الشهادات الصالحة لخادم الخلفية.
تاريخ التعديل الأخير: 2024-11-08 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","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"]],["تاريخ التعديل الأخير: 2024-11-08 (حسب التوقيت العالمي المتفَّق عليه)"],[],[]]