يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات
Apigee X. المعلومات
يصف هذا الموضوع الأخطاء والتحذيرات التي قد تواجهها مع Edge Microgateway.
الأخطاء العامة في الطلب
تعذّر عرض HTTP 500 في معالج الأخطاء - ستحتوي معظم الأخطاء على هذا الرقم، بالإضافة إلى بعض الأخطاء التي يتم عرضها من الأهداف. على وجه التحديد، يتم استخدام error-midware.js في وحدة microgateway-core. عند استخدام الرمز، تكتب رموز الحالة لتسجيل الدخول باستخدام واجهة برمجة التطبيقات Edge Microgateway
logger object: logger.error(err, 'failed in error handler');
. بالنسبة إلى الرموز التي يتم استلامها من الاستهدافات بين 100 و300، يعيد برنامج error-midware.js كتابة رمز الحالة إلى 500 للرجوع إلى العميل.HTTP 404: قد تظهر هذه الحالة في صورة تتبُّع تسلسل استدعاء الدوال البرمجية مع الرسالة
no match found for [API_path_name]
.
الأخطاء والتحذيرات في الوحدة
يمكنك استخدام هذه المعلومات لإعداد التنبيهات التي تساعدك في مراقبة نشر Edge Microgateway وإدارته.
تشير المصطلحات التالية، التي تظهر في مرجع الخطأ ضمن "المعالج"، إلى كيفية التعامل مع الأخطاء المتنوعة في Edge Microgateway.
- assert: يتوقّف تشغيل Edge Microgateway عادةً عند تعذُّر تقييم تأكيد. وقد لا تكون هذه هي الحال دائمًا، لأنّ كلمة "تأكيد" تتضمّن استثناءات قد يتمّ رصدها.
- عمليات الرمي: إمكانية تعليق النظام.
- callback: تم تمرير الخطأ إلى معاودة الاتصال وقد يستمر النظام.
النوع | مراسلة | المعالِج | Notes |
---|---|---|---|
وحدة البوابة المصغّرة |
|||
خطأ | org مطلوب | assert | assert(options.org,"org is required"); |
خطأ | يجب إدخال env. | assert | assert(options.env,"env is required") |
خطأ | يجب إدخال اسم المستخدم | assert | assert(options.username || options.token,"username is required"); |
خطأ | يجب إدخال كلمة المرور | assert | assert(options.password || options.token,"password is required") |
خطأ | org مطلوب | assert | assert(options.org,"org is required"); |
خطأ | يجب إدخال env. | assert | assert(options.env,"env is required") |
خطأ | يجب إدخال اسم المستخدم | assert | assert(options.username || options.token,"username is required"); |
خطأ | يجب إدخال كلمة المرور | assert | assert(options.password || options.token,"password is required") |
خطأ | org مطلوب | assert | assert(options.org,"org is required"); |
خطأ | يجب إدخال env. | assert | assert(options.env,"env is required") |
خطأ | org مطلوب | assert | assert(options.org,"org is required"); |
خطأ | يجب إدخال env. | assert | assert(options.env,"env is required") |
خطأ | يجب إدخال اسم المستخدم | assert | assert(options.username, 'username is required'); |
خطأ | يجب إدخال كلمة المرور | assert | assert(options.password, 'password required'); |
خطأ | org مطلوب | assert | assert(options.org, 'org is required'); |
خطأ | يجب إدخال env. | assert | assert(options.env, 'env is required'); |
خطأ | يجب أن يحتوي على ملف هدف تم تعيينه | assert | assert(targetFile, 'يجب أن يكون لديك ملف هدف معيّن') |
خطأ | على مفتاح | assert | assert(key, ' should have a key'); |
خطأ | لا بد من وجود سر | assert | assert(secret, ' should have a secret'); |
خطأ | يجب ضبط dir | assert | assert(dir, 'dir should be Configuration') |
خطأ | يجب أن يكون رد الاتصال موجودًا | assert | assert(callback, 'callback should be تقدمها') |
خطأ | يجب إدخال اسم المستخدم | assert | assert(options.username, 'username is required'); |
خطأ | يجب إدخال كلمة المرور | assert | assert(options.password, 'password required'); |
خطأ | org مطلوب | assert | assert(options.org, 'org is required'); |
خطأ | يجب إدخال env. | assert | assert(options.env, 'env is required'); |
خطأ | يجب إدراج عنوان URL لوقت التشغيل. | assert | assert(options.runtimeUrl, 'runtimeUrl is required'); |
خطأ | يجب إدراج mgmtUrl. | assert | assert(options.mgmtUrl, 'mgmtUrl is required'); |
خطأ | الملف مطلوب | assert | assert(options.file,"file is required") |
خطأ | يجب تحديد هدف | assert | assert(options.target, ' should have target'); |
خطأ | لم يتم إعداد المكونات الإضافية | assert | assert(config.edgemicro.Plugins, 'Plugins not Configuration)، |
خطأ | المكوّن الإضافي dir غير موجود: + PluginDir | assert | assert(fs.existsSync(extensionDir), 'extension dir is not exist: ' +extensionDir); |
خطأ | Plugin dir ليس دليلاً: + PluginDir | assert | assert(stat.isDirectory(), 'extension dir ليس دليل: ' + PluginDir); |
خطأ | خطأ في قراءة المكون الإضافي dir: + PluginDir | assert | assert(dirs, 'errorread sitemap dir: ' +PluginsDir); |
خطأ | يجب الحصول على رمز مميز. | assert | assert(token, ' should have a icon'); |
خطأ | لا يمكن أن يكون configpath فارغًا | assert | assert(config, 'configpath can't beلت'); |
خطأ | يجب أن يتضمن EDGEMICRO_KEY | assert | assert(key, ' should have EDGEMICRO_KEY'); |
خطأ | يجب أن يتضمن EDGEMICRO_SECRET | assert | assert(secret, ' should have EDGEMICRO_SECRET'); |
خطأ | الإعداد غير متوفّر | رميات | متعلق بملف yaml |
خطأ | يبدو أن Edgemicro قيد التشغيل بالفعل. | console.error | محاولة استبدال ملف .sock |
خطأ | تعذّر التحقق من التغيير في Config. ستتم إعادة المحاولة بعد | console.error | مشكلة في الاتصال الحدّي |
خطأ | إذا كان الخادم لا يعمل، قد يرجع ذلك إلى إيقاف التشغيل بشكل غير صحيح للبدء السابق. | console.error | |
خطأ | %s مفقود، يُرجى تشغيل | console.error | لا يمكن العثور على (.*)، يرجى تشغيل |
خطأ | تعذّرت إعادة تحميل Edgemicro | console.error | مستوى الأوامر |
خطأ | تعذّر إيقاف Edgemicro | console.error | مستوى الأوامر |
خطأ | "جرِّب إزالة ' + ipcPath + ' ثم البدء مرة أخرى" | console.error | |
خطأ | "تهيئة ذاكرة التخزين المؤقت ' + cache + ' غير موجودة. جارٍ الخروج". | console.error | |
خطأ | تعذر كتابة ملف الإعداد: | console.error | ستفشل الإعدادات |
خطأ | لم يتم تنزيل ملف الإعداد: | console.error | ستفشل الإعدادات |
خطأ | تعذّر بدء تشغيل شبكة Edge الصغيرة. | console.error | يجب ألا يتم تشغيله. |
خطأ | Edgemicro ليس قيد التشغيل. | console.error | التأكّد من العملية التي يجب عدم إدراجها |
خطأ | يجب إدخال env. | console.error | متغيرات البيئة المطلوبة للتشغيل |
خطأ | خطأ - تعديل apiproxy Callout.xml | console.error | الوصول إلى الملف |
خطأ | خطأ - تعديل apiproxy default.xml | console.error | الوصول إلى الملف |
خطأ | للتحقق من الأخطاء في الشهادة. جارٍ تثبيت شهادة جديدة. | console.error | لا يمكن استخدام المفتاح العام. |
خطأ | حدث خطأ أثناء استرداد منطقة المؤسسة. | console.error | key-gen.js، وcert-lib.js، وprivate.js |
خطأ | حدث خطأ أثناء تحميل بيانات الاعتماد. | console.error | لا يمكن مزامنة المفتاح العام مع Edge. |
خطأ | تعذّر التحميل. | console.error | key-gen.js |
خطأ | تعذّر إعداد ملف configpath %s. | console.error | لا يتم تحميل الإعدادات |
خطأ | استجابة غير صالحة من واجهة برمجة تطبيقات المنطقة | console.error | key-gen.js، وcert-lib.js، وprivate.js |
خطأ | المفتاح مطلوب | console.error | المَعلمة |
خطأ | org مطلوب | console.error | المَعلمة |
خطأ | المنفذ غير متاح. | console.error | المَعلمة |
خطأ | يجب إدخال السر | console.error | المَعلمة |
خطأ | بروتوكول عنوان URL غير معتمد: | console.error | تشير معلومات الإعدادات إلى بروتوكول إنترنت ليس في نطاق Edge Microgateway |
خطأ | التحقق من الحالة السلبية في analytics: FAIL | console.error | عطل أو عطل محتمل |
خطأ | التحقّق من صحة إحصاءات البيانات ذات الحمولة: FAIL | console.error | عطل أو عطل محتمل |
خطأ | التحقق من مدى توفّر عنوان URL للتشغيل:فشل | console.error | عطل أو عطل محتمل |
خطأ | التحقق من توفر jwt_public_key: FAIL | console.error | عطل أو عطل محتمل |
خطأ | التحقّق من توفّر المنتجات: تعذّر | console.error | عطل أو عطل محتمل |
خطأ | التحقق من الحصة مع المنتجات التي تم إعدادها: تعذّر | console.error | عطل أو عطل محتمل |
warn | تعذّر استرداد الإعدادات من البوابة. ستؤدي المتابعة إلى محاولة نسخ البيانات المخزّنة مؤقتًا. | console.error | |
warn | سبق أن تمت إضافة KVM إلى مؤسستك. | console.log | |
warn | سبق أن تم نشره | console.log | |
warn | لم يتم العثور على المكون الإضافي المتسلسل: | console.warn | |
warn | المكوّن الإضافيDir %s غير موجود | console.log | PluginDir (.*) غير موجود |
وحدة أساسية للبوابة الصغيرة |
|||
خطأ | لم يتم إعداد الإعداد. | assert | assert(config, 'config not added') |
خطأ | يجب أن تتوفّر إعدادات. | assert | assert(config, ' should have a config') |
خطأ | يجب ضبط إعدادات. | assert | assert(config, 'يجب أن يكون config') |
خطأ | يجب أن تحتوي الإعدادات على معرّف مستخدم فريد. | assert | assert(config.uid, 'config should have uid'); |
خطأ | يجب أن يحتوي الإعداد على config.edgemicro.logging. | assert | assert(logConfig, ' should have config.edgemicro.logging in config'); |
خطأ | يجب أن يكون لديك طريقة طلب | assert | assert(httpLibrary.request, ' should have request feature'); |
خطأ | يجب تحميل المكوّن الإضافي في الذاكرة | assert | assert(options.Plugins, "يجب تحميل المكون الإضافي في الذاكرة"); |
خطأ | يجب أن يكون init دالة | assert | assert(_.isFunction(options.extension.init), 'init should be a function'); |
خطأ | يجب أن يكون اسم المكون الإضافي | assert | assert(options.extensionName, "يجب أن يكون لها اسم مكون إضافي"); |
خطأ | تجاهل معالِجات المكوّن الإضافي غير الصالحة + الاسم | assert | assert(_.isObject(Middleware), 'تجاهل معالجات المكونات الإضافية غير الصالحة ' + name); |
خطأ | يجب أن تحتوي الخيارات على تكوينات | assert | assert(config, 'options يجب أن تحتوي على config') |
خطأ | يجب أن يحتوي المكون الإضافي على اسم | assert | assert(name,"extension should have a name") |
خطأ | يجب أن يكون الاسم سلسلة | assert | assert(_.isString(name),"name should be astring"); |
خطأ | يجب أن يكون المكون الإضافي دالة | assert | assert(_.isFunction(plugin),"plugin must be a function(config,logger,stats){return {onresponse:function(req,res,data,next){}}}"); |
خطأ | على مفتاح | assert | assert(key, ' should have a key'); |
خطأ | لا بد من وجود سر | assert | assert(secret, ' should have a secret'); |
خطأ | يجب أن يحتوي على دليل إعداد مصدر | assert | assert(source, ' should have a source configdirectory'); |
خطأ | حدث خطأ أثناء تحميل المكوّن الإضافي | console.error | لم يتم تحميل المكون الإضافي |
خطأ | تعذّر تنفيذ الإجراء في معالج الأخطاء. | رد الاتصال | دالة HTTP Server.on() |
خطأ | طول العنوان أكبر من الحجم المسموح به | خطأ HTTP | لا يتم تشغيل المكوّن الإضافي |
خطأ | انتهى الرد قبل إنجاز العمل | logger.error | لا يتم تشغيل المكون الإضافي المستهدف |
خطأ | طرح المعالج استثناءً | رد الاتصال | التقاط الخطأ من المكون الإضافي (الالتقاط) |
خطأ | خطأ في بدء حافة الحافة الصغيرة | رد الاتصال | عدم تشغيل Edge Microgateway |
خطأ | يجب أن يكون المكون الإضافي دالة | رميات | |
warn | console.error | warns | كتابة القطع الخشبية |
warn | خطأ targetRequest | استدعاء معالجة الأخطاء المستهدفة | خطأ في عميل HTTP في ما يتعلق بالهدف |
warn | خطأ targetResponse | استدعاء معالجة الأخطاء المستهدفة | خطأ في خادم هدف HTTP في الاتصال بالوجهة كما يظهر في العميل |
وحدة إعداد البوابة المصغّرة |
|||
خطأ | allow_message | assert | assert(+config.quota.allow > 0, allow_message); |
خطأ | الإعداد غير متوفّر | رميات | ملف yaml للإعداد |
خطأ | الإعداد فارغ | رميات | ملف yaml للإعداد |
خطأ | الإعداد ليس ملفًا | رميات | ملف yaml للإعداد |
خطأ | لم يتم تحديد الإعداد. | assert | assert(config, 'config is not selected'); |
خطأ | إنّ config.analytics.batchSize غير صالح. | assert | assert(+config.analytics.batchSize > 0, 'config.analytics.batchSize غير صالح'); |
خطأ | config.analytics.batchSize ليس رقمًا | assert | assert(typeof config.analytics.batchSize === 'number', 'config.analytics.batchSize is not a number'); |
خطأ | قيمة config.analytics.bufferSize غير صالحة. | assert | assert(+config.analytics.bufferSize > 0, 'config.analytics.bufferSize غير صالح'); |
خطأ | config.analytics.bufferSize ليس رقمًا | assert | assert(typeof config.analytics.bufferSize === 'number', 'config.analytics.bufferSize is not a number'); |
خطأ | الملف config.analytics.flushInterval غير صالح | assert | assert(+config.analytics.flushInterval > 0, 'config.analytics.flushInterval غير صالح'); |
خطأ | config.analytics.flushInterval ليس رقمًا | assert | assert(typeof config.analytics.flushInterval === 'number', 'config.analytics.flushInterval ليس رقمًا'); |
خطأ | config.analytics.proxy ليس "وهمية" | assert | assert(config.analytics.proxy === 'dummy', 'config.analytics.proxy ليس "dummy"'); |
خطأ | لم يتم تحديد config.analytics.proxy | assert | assert(config.analytics.proxy, 'config.analytics.proxy is not specific'); |
خطأ | config.analytics.proxy_revision ليس رقمًا | assert | assert(typeof config.analytics.proxy_revision === 'number', 'config.analytics.proxy_revision is not a number'); |
خطأ | لم يتم تحديد config.analytics.proxy_revision | assert | assert(config.analytics.proxy_revision, 'config.analytics.proxy_revision is not selected'); |
خطأ | الملف config.analytics.source ليس "microgateway". | assert | assert(config.analytics.source === 'microgateway', 'config.analytics.source is not "microgateway"'); |
خطأ | لم يتم تحديد قيمة config.analytics.source | assert | assert(config.analytics.source, 'config.analytics.source is not specific'); |
خطأ | إنّ config.analytics.uri ليست سلسلة | assert | assert(typeof config.analytics.uri === 'string', 'config.analytics.uri is not a string'); |
خطأ | لم يتم تحديد config.analytics.uri | assert | assert(config.analytics.uri, 'config.analytics.uri is not specific'); |
خطأ | لم يتم تحديد config.apikeys.public_key | assert | assert(typeof config.apikeys.public_key === 'string', 'config.apikeys.public_key is not specific'); |
خطأ | لم يتم تحديد config.edge_config | assert | assert(config.edge_config, 'config.edge_config is not specific'); |
خطأ | لم يتم تحديد config.edge_config.bootstrap. | assert | assert(config.edge_config.bootstrap, 'config.edge_config.bootstrap is not selected'); |
خطأ | لم يتم تحديد config.edge_config.jwt_public_key | assert | assert(config.edge_config.jwt_public_key, 'config.edge_config.jwt_public_key غير محدد'); |
خطأ | يجب تحديد config.edge_config.proxy إذا تم تحديد config.edge_config.proxy_tunnel. | assert | assert(typeof config.edge_config.proxy !== 'unavailable', 'config.edge_config.proxy يجب أن يتم تحديده إذا تم تحديد config.edge_config.proxy_tunnel'); |
خطأ | config.edge_config.proxy_tunnel is not a boolean | assert | assert(typeof config.edge_config.proxy_tunnel === 'boolean', 'config.edge_config.proxy_tunnel is not a boolean'); |
خطأ | config.edge_config.refresh_interval ليس رقمًا | assert | assert(typeof config.edge_config.refresh_interval === 'number', 'config.edge_config.refresh_interval ليس رقمًا'); |
خطأ | config.edge_config.refresh_interval صغير جدًا (ساعة واحدة كحد أدنى) | assert | assert(config.edge_config.refresh_interval >= 3600000, 'config.edge_config.refresh_interval صغير جدًا (الحد الأدنى 1h)'); |
خطأ | config.edge_config.retry_interval ليس رقمًا | assert | assert(typeof config.edge_config.retry_interval === 'number', 'config.edge_config.retry_interval ليس رقمًا'); |
خطأ | config.edge_config.retry_interval صغير جدًا (5 ثوانٍ على الأقل) | assert | assert(config.edge_config.retry_interval >= 5000, 'config.edge_config.retry_interval صغير جدًا (الحد الأدنى 5 ثوانٍ)'); |
خطأ | لم يتم تحديد config.edgemicro | assert | assert(config.edgemicro, 'config.edgemicro is not selected'); |
خطأ | لم يتم تحديد config.edgemicro.logging. | assert | assert(config.edgemicro.logging, 'config.edgemicro.logging is not selected'); |
خطأ | لم يتم تحديد قيمة config.edgemicro.logging.dir. | assert | إذا (!config.edgemicro.logging.to_console) assert(config.edgemicro.logging.dir, 'config.edgemicro.logging.dir غير محدد'); |
خطأ | لم يتم تحديد config.edgemicro.logging.level. | assert | assert(config.edgemicro.logging.level, 'config.edgemicro.logging.level غير محدد'); |
خطأ | config.edgemicro.max_connections ليس رقمًا | assert | assert(typeof config.edgemicro.max_connections === 'number', 'config.edgemicro.max_connections ليس رقمًا'); |
خطأ | لم يتم تحديد config.edgemicro.max_connects. | assert | assert(config.edgemicro.max_connections, 'config.edgemicro.max_connections غير محدد)، |
خطأ | الأمر config.edgemicro.Plugins.extension ليس صفيفًا | assert | assert(Array.isArray(config.edgemicro.Plugins.التصفُّح)، 'config.edgemicro.component.extension is not anar'); |
خطأ | لم يتم تحديد config.edgemicro.port | assert | assert(config.edgemicro.port, 'config.edgemicro.port is not specific'); |
خطأ | لم يتم تحديد config.oauth.allowInvalidتفويض | assert | assert(typeof config.oauth.allow invalidتفويض === 'boolean', 'config.oauth.allow invalidتفويض غير محدد'); |
خطأ | لم يتم تحديد config.oauth.allowNoتفويض | assert | assert(typeof config.oauth.allowNoAuthorize === 'boolean', 'config.oauth.allowNoتفويض غير محدد'); |
خطأ | لم يتم تحديد الإعداد config.oauth.public_key | assert | assert(typeof config.oauth.public_key === 'string', 'config.oauth.public_key is not specific'); |
خطأ | لم يتم تحديد config.oauthv2.public_key | assert | assert(typeof config.oauthv2.public_key === 'string', 'config.oauthv2.public_key is not selected'); |
خطأ | لم يتم تحديد قيمة config.proxies. | assert | assert(config.proxies, 'config.proxies is not specific'); |
خطأ | لم يتم تحديد config.proxy[ + index + ].base_path. | assert | assert(proxy.base_path, 'config.proxy[' + index + '].base_path غير محدد'); |
خطأ | config.proxy[ + index + ].max_connections ليس رقمًا | assert | assert(typeof agent.max_connections === 'number', 'config.proxy[' + index + '].max_connections ليس رقمًا'); |
خطأ | لم يتم تحديد config.proxy[ + index + ].max_connections. | assert | assert(proxy.max_connections, 'config.proxy[' + index + '].max_connections غير معرَّفة")، |
خطأ | لم يتم تحديد config.proxy[ + index + ].name. | assert | assert(proxy.name, 'config.proxy[' + index + '].name is not selected'); |
خطأ | لم يتم تحديد config.proxy[ + index + ].proxy_name. | assert | assert(proxy.target_name, 'config.proxy[' + index + '].proxy_name غير محدد'); |
خطأ | لم يتم تحديد config.proxy[ + index + ].revision. | assert | assert(proxy.revision, 'config.proxy[' + index + '].revision is not selected'); |
خطأ | لم يتم تحديد config.proxy[ + index + ].url. | assert | assert(proxy.url, 'config.proxy[' + index + '].url is not removed'); |
خطأ | config.quota.allow ليس رقمًا | assert | assert(typeof config.quota.allow === 'number', 'config.quota.allow is not a number'); |
خطأ | لم يتم تحديد config.quota.allow | assert | assert(config.quota.allow, 'config.quota.allow is not selected'); |
خطأ | config.quota.interval ليس رقمًا | assert | assert(typeof config.quota.interval === 'number', 'config.quota.interval is not a number'); |
خطأ | لم يتم تحديد config.quota.interval | assert | assert(config.quota.interval, 'config.quota.interval is not selected'); |
خطأ | لم يتم تحديد config.spikearrest | assert | assert(config.spikearrest, 'config.spikearrest is not specific'); |
خطأ | الإعداد config.spikearrest.allow غير صالح. | assert | assert(+config.spikearrest.allow > 0, 'config.spikearrest.allow غير صالح'); |
خطأ | config.spikearrest.allow ليس رقمًا | assert | assert(typeof config.spikearrest.allow === 'number', 'config.spikearrest.allow is not a number'); |
خطأ | لم يتم تحديد قيمة config.spikearrest.allow | assert | assert(config.spikearrest.allow, 'config.spikearrest.allow غير معرّف'); |
خطأ | الإعداد config.spikearrest.bufferSize غير صالح. | assert | assert(+config.spikearrest.bufferSize > 0, 'config.spikearrest.bufferSize غير صالح'); |
خطأ | config.spikearrest.bufferSize ليس رقمًا | assert | assert(typeof config.spikearrest.bufferSize === 'number', 'config.spikearrest.bufferSize ليس رقمًا'); |
خطأ | لم يتم تحديد قيمة config.spikearrest.timeUnit | assert | assert(config.spikearrest.timeUnit, 'config.spikearrest.timeUnit غير محدّد)، |
خطأ | خطأ فادح: حدث خطأ أثناء تحليل قائمة المنتجات التي تم تنزيلها | رد الاتصال | |
خطأ | خطأ فادح: حدث خطأ أثناء تحليل قائمة الخادم الوكيل التي تم تنزيلها | رد الاتصال | |
خطأ | تم رصد خطأ في إعدادات المنتج الخاطئة. | console.error | متبوعة بـ console.warn('using للحسابات التجريبية القديمة)؛ |
خطأ | خطأ في قراءة التهيئة من | رميات | ملف yaml للإعداد |
خطأ | حدث خطأ أثناء حفظ التهيئة على | رد الاتصال | ملف yaml للإعداد |
خطأ | fatal: الإعدادات المخزّنة مؤقتًا غير متاحة، تتعذّر المتابعة | رد الاتصال | |
خطأ | interval_message | assert | assert(+config.quota.interval > 0, time_message); |
خطأ | بروتوكول غير صالح لملف config.edge_config.proxy (بروتوكول http: أو https:: +proxy_url.protocol) | assert | assert(proxy_url.protocol === 'http:' || agent_url.protocol === 'https:', 'بروتوكول غير صالح لـ config.edge_config.proxy (بروتوكول http: أو https:): ' +proxy_url.protocol)، |
خطأ | مضيف خادم وكيل غير صالح لـ config.edge_config.proxy | assert | assert(proxy_url.hostname, 'مضيف وكيل غير صالح لـ config.edge_config.proxy: ' +proxy_url.hostname); |
خطأ | يبدو أنه لم يتم إعداد Edge Micro، يُرجى مراجعة دليل المشرف | رد الاتصال | النتيجة: تعذّر تحميل الإعدادات |
خطأ | المفتاح مفقود | assert | assert(keys.key, 'key is missing'); |
خطأ | يجب أن يحتوي على configDir | assert | assert(configDir, ' should have configDir') |
خطأ | لا بد من خيارات | assert | assert(options, ' should have options'); |
خطأ | لا بد من توفّر مصدر | assert | assert(source, ' should have source') |
خطأ | مصدر للتحميل من | assert | assert(options.source, 'يجب أن يكون لديها مصدر للتحميل من') |
خطأ | يجب أن يحتوي على targetFile | assert | assert(fileName, ' should have targetFile') |
خطأ | لا يمكن أن تكون الخيارات فارغة | assert | assert(options, 'options can be null'); |
خطأ | لا يمكن أن تكون قيمة options.keys خالية | assert | assert(options.keys, 'options.keys cannot be null'); |
خطأ | port_message | assert | assert(+config.edgemicro.port < 65536, port_message)، |
خطأ | يجب أن تكون المنتجات صفيفًا | assert | assert(Array.isArray(products), 'products يجب أن تكون صفيفًا'); |
خطأ | يجب أن تكون "الخوادم الوكيلة للمنتج ' + product + ' مصفوفة" | assert | assert(Array.isArray(product.proxies), 'الخوادم الوكيلة للمنتج ' + product + ' يجب أن تكون مصفوفة'); |
خطأ | السر مفقود | assert | assert(keys.secret, 'secret is missing'); |
خطأ | لم يتم ضبط الهدف | assert | assert(target, 'target is not set'); |
warn | حدث خطأ أثناء تنزيل الإعدادات، يُرجى التحقّق من إعدادات التمهيد. | console.warn | |
warn | تعذّر تنزيل jwt_public_key | console.warn | |
warn | مفاتيح jwk غير مفعّلة | console.warn | |
warn | رسالة، "تنزيل من"، عنوان URL، تم إرجاعه | console.warn | البحث عن: (.*)\sdownload من\s(.*)\sreturned |
warn | لم يتم العثور على منتجات مصغَّرة من Edge استجابةً للاستجابة | console.warn | |
warn | لم يتم العثور على أي خوادم وكيلة مصغّرة لبرنامج Edge في المؤسسة | console.warn | |
warn | لم يتم العثور على أي خوادم وكيلة مصغَّرة حافة كاستجابة | console.warn | |
warn | لم يتم العثور على أي منتجات في المؤسسة. | console.warn | |
warn | لم يتم العثور على أي منتجات استجابةً | console.warn | |
warn | باستخدام الإعداد القديم المُخزَّن مؤقتًا | console.warn | |
وحدة المكونات الإضافية للمدخل المصغَّر |
|||
خطأ | الإعداد غير متوفّر | رميات | ذو صلة بملف yaml |
خطأ | apikey | استجابة HTTP | إخفاقات في المكون الإضافي apiky |
خطأ | بروتوكول bauth | استجابة HTTP | فشل المكوِّن الإضافي bauth |
خطأ | برنامج extauth | استجابة HTTP | فشل المكوِّن الإضافي extauth |
خطأ | بروتوكول OAuth | استجابة HTTP | حالات فشل مكوّن Oauth الإضافي |
warn | حدث خطأ أثناء معالجة إحصاءات Apigee. السماح بمتابعة معالجة الطلب | logger.error | |
warn | تجاهل الخطأ | console.warn | المكونات الإضافية لواجهة برمجة التطبيقات وبروتوكول oauth وoauthv2 |
warn | خطأ في تحليل jwt: | console.warn | |
warn | كائن استجابة oath ينقصه setHeader | console.warn | يشير خطأ معلَمة oauth إلى عدم الإبلاغ عن بعض الأخطاء. |
warn | لا يوفر وقت التشغيل كائن استجابة oath | console.warn | خطأ معلَمة oauth |
warn | لا يتم توفير كائن إحصاءات oath من خلال وقت التشغيل | console.warn | خطأ معلَمة oauth |
وحدة apigeetool-node |
|||
خطأ | تعذّر حذف ذاكرة التخزين المؤقت برمز الحالة %d'، res.statusCode | رد الاتصال | منشور في deletecache.js. رمز الحالة من Apigee Edge. بطاقات لمعاودة الاتصال بخطأ في تتبُّع تسلسل استدعاء الدوال البرمجية مع هذه الرسالة: Done(new error(errMsg راجع) |
خطأ | تعذّر حذف المنتج برمز الحالة %d'، res.statusCode | رد الاتصال | منشور في deleteproduct.js. رمز الحالة من Apigee Edge. بطاقات لمعاودة الاتصال بخطأ في تتبُّع تسلسل استدعاء الدوال البرمجية مع هذه الرسالة: Done(new error(errMsg راجع) |
خطأ | يجب تحديد جميع org وواجهة برمجة التطبيقات والمراجعة. | رد الاتصال | تم طرحه في getproxy.js. حدث خطأ في الإعدادات. |
خطأ | تم تلقي الخطأ %d عند جلب الخادم الوكيل: %j | رد الاتصال | تم طرحه في getproxy.js. رمز الحالة بخلاف 200. |
خطأ | فشل إنشاء التطبيق برمز الحالة %d | رد الاتصال | يتم طرحه في createapp.js. تمرير جميع الأخطاء إلى عمليات معاودة الاتصال باعتبارها أخطاء في تتبُّع تسلسل استدعاء الدوال البرمجية لا يطبع وحدة التحكم أو أي إدخالات في السجلّ. |
خطأ | الأمر + ' فشل مع رمز الحالة %d | رد الاتصال | يتم طرحه في الأمر command-utils.js. وفي حال كان أي أمر يتم تحليله وتمريره إلى هذه الوحدة، فإنّ أي رمز غير 200 أو 201 سيؤدي إلى ظهور رسالة خطأ. تنسيق هذه الرسالة ولكن لا تتم طباعتها. تمرير خطأ تتبُّع تسلسل استدعاء الدوال البرمجية مع إرسال الرسالة مرة أخرى إلى عمليات معاودة الاتصال |
خطأ | تم تلقي الخطأ %d عند جلب التدفق المشترك: %s | رد الاتصال | يتم التخلص منها في generatesharedflow.js. لأي حالة HTTP ليست 200 إذا نجح الأمر ولكن تعذّر كتابة الملف، سيكتب إلى وحدة التحكّم: تعذّر كتابة الملف نص الخطأ: [stack_trace_error] |
خطأ | تعذّر إنشاء KeySecret باستخدام رمز الحالة %d'، res.statusCode | رد الاتصال | يتم طرحه في createappkey.js. بالنسبة إلى رموز حالة HTTP من Apigee Edge التي ليست 200 أو 201. |
خطأ | تعذّر إنشاء ذاكرة التخزين المؤقت برمز الحالة %d'، res.statusCode | رد الاتصال | يتم طرحه في createcache.js. لرموز حالة HTTP من Apigee Edge التي ليست 200 أو 201. |
خطأ | تعذّر إنشاء المنتج برمز الحالة %d'، res.statusCode | رد الاتصال | يتم طرحه في createproduct.js. لرموز حالة HTTP من Apigee Edge التي ليست 201. إذا كانت حالة HTTP هي 201 ولكن الاستجابة تتضمن خطأ JSON، ستتم إعادة توجيه رمز JSON إلى رد الاتصال. |
خطأ | تعذّر حذف التطبيق برمز الحالة %d'، res.statusCode | رد الاتصال | منشور في deleteapp.js. لرموز حالة HTTP من Apigee Edge التي ليست 200. إذا كانت حالة HTTP هي 200 ولكن الاستجابة تتضمن خطأ JSON، ستتم إعادة توجيه رمز JSON إلى رد الاتصال. |
خطأ | فشل إنشاء مطوّر البرامج باستخدام رمز الحالة %d'، res.statusCode | رد الاتصال | يتم طرحه في createdeveloper.js. لرموز حالة HTTP من Apigee Edge التي ليست 201. إذا كانت حالة HTTP هي 201 ولكن الاستجابة تتضمن خطأ JSON، ستتم إعادة توجيه رمز JSON إلى رد الاتصال. |
خطأ | تعذّر حذف مطوّر البرامج برمز الحالة %d'، res.statusCode | رد الاتصال | منشور في deletedeveloper.js. لرموز حالة HTTP من Apigee Edge التي ليست 200. إذا كانت حالة HTTP هي 200 ولكن الاستجابة تتضمن خطأ JSON، ستتم إعادة توجيه رمز JSON إلى رد الاتصال. |
أخطاء المكوّنات الإضافية
accesscontrol plug-in
This section describes the error codes and messages that are returned by the
accesscontrol
plug-in with descriptions of possible causes.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
Not printed | Forbidden | 403 | Access control rule |
accumulate-request plug-in
This section describes the error codes and messages that are returned by the
accumulate-request
plug-in with descriptions of possible causes.
No errors generated.
accumulate-resopnse plug-in
This section describes the error codes and messages that are returned by the
accumulate-response
plug-in with descriptions of possible causes.
No errors generated.
analytics plug-in
This section describes the error codes and messages that are returned by the
analytics
plug-in with descriptions of possible causes.
Errors encountered processing Apigee analytics are written to the Edge Microgateway log. Edge Microgateway processing continues.
apikeys plug-in
This section describes the error codes and messages that are returned by the
apikeys
plug-in with descriptions of possible causes.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
invalid_request | Invalid Request | 400 | allowNoAuthorization == false
No Authorization header in the HTTP request allowOAuthOnly == true |
invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
access_denied | Copy service message | 403 | In response to the auth service timeout |
missing_authorization | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization |
invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
gateway_timeout | Copy service message | 504 | In response to the auth timeout |
default | 500 | All other not categorized |
bauth plug-in
This section describes the error codes and messages that are returned by the
bauth
plug-in with descriptions of possible causes.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
missing_authorization | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization |
invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
gateway_timeout | Copy service message | 504 | In response to the auth timeout |
default | 500 | All other not categorized |
cloud-foundry-route-service plug-in
This section describes the error codes and messages that are returned by the
cloud-foundry-route-service
plug-in with descriptions of possible causes.
No errors generated.
cors plug-in
This section describes the error codes and messages that are returned by the
cors
plug-in with descriptions of possible causes.
No errors generated.
eurekaclient plug-in
This section describes the error codes and messages that are returned by the
eurekaclient
plug-in with descriptions of possible causes.
The eurekaclient plug-in throws a few console errors only, including a stack trace error on failed start and a warning about the target endpoint from Eureka not found.
extauth plug-in
This section describes the error codes and messages that are returned by the
extauth
plug-in with descriptions of possible causes.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
invalid_request | Invalid Request | 400 | allowNoAuthorization == false
No Authorization header in the HTTP request allowOAuthOnly == true |
invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
access_denied | Copy service message | 403 | In response to the auth service timeout |
missing_authorization | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization |
invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
gateway_timeout | Copy service message | 504 | In response to the auth timeout |
default | 500 | All other not categorized |
header-uppercase plug-in
This section describes the error codes and messages that are returned by the
header-uppercase
plug-in with descriptions of possible causes.
No errors generated.
healthcheck plug-in
This section describes the error codes and messages that are returned by the
healthcheck
plug-in with descriptions of possible causes.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
503 | Too busy. No messages in HTTP or console | ||
default | Application is not running on specified application port | 500 | All other not categorized |
invalidHeader plug-in
This section describes the error codes and messages that are returned by the
invalidHeader
plug-in with descriptions of possible causes.
No errors generated.
json2xml plug-in
This section describes the error codes and messages that are returned by the
json2xml
plug-in with descriptions of possible causes.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
default | 500 | All other not categorized |
monitor plug-in
This section describes the error codes and messages that are returned by the
monitor
plug-in with descriptions of possible causes.
No errors generated.
oauth plug-in (v1)
This section describes the error codes and messages that are returned by the
oauth
plug-in (v1) with descriptions of possible causes.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
invalid_request | Invalid Authorization Header | 400 |
|
invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
Access_denied | Copy service message | 403 | In response to the auth service timeout |
invalid_token | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization is set |
invalid_token | token could not be parsed | 401 | allowAPIKeyOnly == true
Bad token delivered |
missing_authorization | Missing Authorization header | 401 | allowNoAuthorization == false
Authorization-header in HTTP allowOAuthOnly == true |
invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
gateway_timeout | Copy service message | 504 | In response to the auth timeout |
default | 500 | All other uncategorized responses |
oauthv2 plug-in
This section describes the error codes and messages that are returned by the
oauthv2
plug-in with descriptions of possible causes.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
invalid_request | Invalid Authorization Header | 400 |
|
invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header |
access_denied | Copy service message | 403 | In response to the auth service timeout |
invalid_token | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization is set |
invalid_token | token could not be parsed | 401 | allowAPIKeyOnly == true
Bad token delivered |
missing_authorization | Missing Authorization header | 401 | allowNoAuthorization == false
Authorization-header in HTTP allowOAuthOnly == true |
invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
gateway_timeout | Copy service message | 504 | In response to the auth timeout |
default | 500 | All other uncategorized responses |
quota plug-in
This section describes the error codes and messages that are returned by the
quota
plug-in with descriptions of possible causes.
Defers to volos quota/apigee.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
gateway_timeout | Not authorized to call the remote proxy. Check the "key" parameter. | 404 | In response to the auth timeout |
default | 500 | All other not categorized | |
throw | uri parameter must be specified | apigeequota.js | |
throw | key parameter must be specified | apigeequota.js | |
callback | Apigee Remote Proxy not found at: ' + self.uri + '. Check your configuration | apigeequota.js | |
callback | HTTP error getting proxy version: %d. Check the "uri" parameter. | apigeequota.js | |
callback | Quotas with a fixed starting time are not supported | apigeequota.js | |
callback | Error updating remote quota: %d %s', resp.statusCode, body | apigeequota.js |
If there is an error on an entry in the product list, the product list will stop being processed.
quota-memory plug-in
This section describes the error codes and messages that are returned by the
quota-memory
plug-in with descriptions of possible causes.
Defers to volos quota/apigee.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
gateway_timeout | Not authorized to call the remote proxy. Check the "key" parameter. | 404 | In response to the auth timeout |
default | 500 | All other not categorized | |
throw | start time not allowed for month time units | quota.js. volos error on time format. | |
throw | Invalid start time %s | quota.js. volos error on time format. | |
throw | Invalid timeUnit %s | quota.js. volos error on time format. |
If there is an error on an entry in the product list, the product list will stop being processed.
spikearrest plug-in
This section describes the error codes and messages that are returned by the
spikearrest
plug-in with descriptions of possible causes.
Defers to volos spikearrest/memory.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
SpikeArrest engaged | 503 | Traffic spike. This is expected behavior. | |
throw | Invalid timeUnit %s | spikearrest.js | |
callback | key must be a string | spikearrest.js | |
throw | %s must be a number', name | spikearrest.js |
transform-uppercase plug-in
This section describes the error codes and messages that are returned by the
transform-uppercase
plug-in with descriptions of possible causes.
No errors generated.