مرجع خطأ Edge Microgateway

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

يتناول هذا الموضوع الأخطاء والتحذيرات التي قد تواجهها عند استخدام Edge Microgateway.

أخطاء عامة في التطبيق

  • HTTP 500، تعذّر في معالج الأخطاء: سيظهر هذا الرقم مع معظم الأخطاء، بالإضافة إلى بعض الأخطاء التي يتم عرضها من الأهداف. على وجه الخصوص، يتم استخدام ملف errors-middleware.js في جميع أنحاء وحدة microgateway-core. عند استخدامه، يكتب رموز الحالة في السجلّ باستخدام Edge Microgateway logger object: logger.error(err, 'failed in error handler');. بالنسبة إلى الرموز التي تم تلقّيها من الأهداف بين 100 و300، يعيد ملف errors-middleware.js كتابة رمز الحالة إلى 500 ليتم إرجاعه إلى العميل.

  • HTTP 404: قد تظهر هذه الحالة كعملية تتبُّع تسلسل استدعاء الدوال البرمجية مع الرسالة no match found for [API_path_name].

أخطاء الوحدات والتحذيرات

يمكنك استخدام هذه المعلومات لضبط التنبيهات التي تساعدك في مراقبة عملية نشر Edge Microgateway وإدارتها.

تشير المصطلحات التالية، التي تظهر في مرجع الخطأ ضمن "المعالج"، إلى كيفية معالجة الأخطاء المختلفة في Edge Microgateway.

  • assert: عادةً، يتوقّف Edge Microgateway عند تعذُّر تقييم عملية التأكيد. ومع ذلك، قد لا يكون هذا هو الحال دائمًا، لأنّ "عمليات التأكيد" تطرح استثناءات يمكن رصدها.
  • throws: توقّف محتمل للنظام
  • الدالة التنفيذية: يتم تمرير الخطأ إلى دالة تنفيذية وقد يواصل النظام عمله.
النوع رسالة المعالِج ملاحظات

وحدة microgateway

خطأ يجب إدخال اسم المؤسسة تأكيد الملكية assert(options.org,"org is required");
خطأ يجب إدخال env تأكيد الملكية assert(options.env,"env is required")
خطأ يجب إدخال اسم المستخدم تأكيد الملكية assert(options.username || options.token,"username is required");
خطأ كلمة المرور مطلوبة تأكيد الملكية assert(options.password || options.token,"password is required")
خطأ يجب إدخال اسم المؤسسة تأكيد الملكية assert(options.org,"org is required");
خطأ يجب إدخال env تأكيد الملكية assert(options.env,"env is required")
خطأ يجب إدخال اسم المستخدم تأكيد الملكية assert(options.username || options.token,"username is required");
خطأ كلمة المرور مطلوبة تأكيد الملكية assert(options.password || options.token,"password is required")
خطأ يجب إدخال اسم المؤسسة تأكيد الملكية assert(options.org,"org is required");
خطأ يجب إدخال env تأكيد الملكية assert(options.env,"env is required")
خطأ يجب إدخال اسم المؤسسة تأكيد الملكية assert(options.org,"org is required");
خطأ يجب إدخال env تأكيد الملكية assert(options.env,"env is required")
خطأ يجب إدخال اسم المستخدم تأكيد الملكية assert(options.username, 'username is required');
خطأ كلمة المرور مطلوبة تأكيد الملكية assert(options.password, 'password is required');
خطأ يجب إدخال اسم المؤسسة تأكيد الملكية assert(options.org, 'org is required');
خطأ يجب إدخال env تأكيد الملكية assert(options.env, 'env is required');
خطأ يجب أن يتضمّن ملفًا مستهدفًا تم تعيينه تأكيد الملكية assert(targetFile, 'must have an assigned target file')
خطأ يجب أن يتضمّن مفتاحًا تأكيد الملكية assert(key, 'must have a key');
خطأ يجب أن يكون لديه سر تأكيد الملكية assert(secret, 'must have a secret');
خطأ يجب ضبط dir تأكيد الملكية assert(dir, 'dir must be configured')
خطأ يجب توفُّر معاودة الاتصال تأكيد الملكية assert(callback, 'callback must be present')
خطأ يجب إدخال اسم المستخدم تأكيد الملكية assert(options.username, 'username is required');
خطأ كلمة المرور مطلوبة تأكيد الملكية assert(options.password, 'password is required');
خطأ يجب إدخال اسم المؤسسة تأكيد الملكية assert(options.org, 'org is required');
خطأ يجب إدخال env تأكيد الملكية assert(options.env, 'env is required');
خطأ يجب إدخال runtimeUrl تأكيد الملكية assert(options.runtimeUrl, 'runtimeUrl is required');
خطأ يجب إدخال mgmtUrl تأكيد الملكية assert(options.mgmtUrl, 'mgmtUrl is required');
خطأ يجب إدخال ملف تأكيد الملكية assert(options.file,"file is required")
خطأ يجب أن يكون هناك هدف تأكيد الملكية assert(options.target, 'must have target');
خطأ لم يتم إعداد المكوّنات الإضافية تأكيد الملكية assert(config.edgemicro.plugins, 'plugins not configured');
خطأ دليل المكوّن الإضافي غير موجود: + pluginDir تأكيد الملكية assert(fs.existsSync(pluginDir), 'plugin dir does not exist: ' + pluginDir);
خطأ plugin dir is not a directory: + pluginDir تأكيد الملكية assert(stat.isDirectory(), 'plugin dir is not a directory: ' + pluginDir);
خطأ حدث خطأ أثناء قراءة دليل المكوّن الإضافي: + pluginDir تأكيد الملكية assert(dirs, 'error reading plugin dir: ' + pluginDir);
خطأ يجب أن يتضمّن رمزًا مميزًا تأكيد الملكية assert(token, 'must have a token');
خطأ لا يمكن ترك configpath فارغًا تأكيد الملكية assert(config, 'configpath can't be empty');
خطأ يجب أن يتضمّن EDGEMICRO_KEY تأكيد الملكية assert(key, 'must have EDGEMICRO_KEY');
خطأ يجب توفير EDGEMICRO_SECRET تأكيد الملكية assert(secret, 'must have EDGEMICRO_SECRET');
خطأ لم يتم العثور على الإعداد طرح متعلّقة بملف YAML
خطأ يبدو أنّ edgemicro قيد التشغيل حاليًا. console.error محاولة استبدال ملف ‎ .sock
خطأ تعذّر التحقّق من حدوث تغيير في الإعدادات. ستتم إعادة المحاولة بعد console.error مشكلة في الاتصال بين الأجهزة الطرفية
خطأ إذا كان الخادم لا يعمل، قد يكون ذلك بسبب إيقاف التشغيل السابق بشكل غير صحيح. console.error
خطأ لم يتم العثور على %s، يُرجى تشغيل console.error Missing (.*), Please run
خطأ تعذّرت إعادة تحميل edgemicro console.error مستوى الأمر
خطأ تعذّر إيقاف edgemicro console.error مستوى الأمر
خطأ Try removing ' + ipcPath + ' and start again' console.error
خطأ لا يتوفّر "إعدادات ذاكرة التخزين المؤقت" + ذاكرة التخزين المؤقت + ". سيتم الخروج." console.error
خطأ تعذّر كتابة ملف الإعداد: console.error سيتعذّر الإعداد
خطأ لم يتم تنزيل ملف الإعداد: console.error سيتعذّر الإعداد
خطأ تعذّر بدء تشغيل الميكروفون على الجهاز console.error يجب ألا يكون قيد التشغيل
خطأ لم يتم تشغيل edgemicro. console.error التحقّق من العملية التي يجب ألا تكون مُدرَجة
خطأ يجب إدخال env console.error متغيرات البيئة المطلوبة لتشغيل
خطأ error - editing apiproxy Callout.xml console.error إذن الوصول إلى الملف
خطأ error - editing 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 المَعلمة
خطأ يجب إدخال اسم المؤسسة console.error المَعلمة
خطأ المنفذ غير متاح. console.error المَعلمة
خطأ يجب إدخال سر console.error المَعلمة
خطأ بروتوكول عنوان URL غير متاح: console.error تشير معلومات الإعداد إلى بروتوكول إنترنت غير مضمّن في نطاق Edge Microgateway
خطأ التحقّق من حالة سلبية للإحصاءات: تعذّر console.error تعطُّل أو فشل محتمل
خطأ التحقّق من الإحصاءات باستخدام الحمولة: تعذّر console.error تعطُّل أو فشل محتمل
خطأ التحقّق من توفّر عنوان URL الخاص بالتمهيد:تعذّر console.error تعطُّل أو فشل محتمل
خطأ التحقّق من توفّر jwt_public_key: تعذّر console.error تعطُّل أو فشل محتمل
خطأ التحقّق من توفّر المنتجات: تعذّر console.error تعطُّل أو فشل محتمل
خطأ التحقّق من الحصة باستخدام المنتجات التي تم إعدادها: تعذّر console.error تعطُّل أو فشل محتمل
تحذير تعذّر استرداد الإعدادات من البوابة. سيتم المتابعة، وسيتم تجربة النسخة المخزّنة مؤقتًا. console.error
تحذير تتوفّر آلة افتراضية مستندة إلى KVM في مؤسستك console.log
تحذير تم نشره من قبل console.log
تحذير لم يتم العثور على المكوّن الإضافي المتسلسل: console.warn
تحذير المجلد pluginDir %s غير موجود console.log ‫pluginDir (.*) غير موجود

وحدة microgateway-core

خطأ لم يتم إعداد ملف الإعدادات تأكيد الملكية assert(config, 'config not initialized')
خطأ يجب أن يتضمّن إعدادًا تأكيد الملكية assert(config, ' must have a config')
خطأ يجب أن يتضمّن إعدادات تأكيد الملكية assert(config, 'must have config')
خطأ يجب أن يتضمّن الإعداد معرّفًا فريدًا تأكيد الملكية assert(config.uid, 'config must have uid');
خطأ يجب أن يتضمّن ملف الإعداد config.edgemicro.logging في الإعدادات تأكيد الملكية assert(logConfig, 'must have config.edgemicro.logging in config');
خطأ يجب أن تتضمّن طريقة الطلب تأكيد الملكية assert(httpLibrary.request, 'must have request method');
خطأ يجب أن يتم تحميل المكوّن الإضافي في الذاكرة تأكيد الملكية assert(options.plugin, "must have plugin loaded in memory");
خطأ يجب أن تكون init دالة تأكيد الملكية assert(_.isFunction(options.plugin.init), 'init must be a function');
خطأ يجب توفّر اسم للمكوّن الإضافي تأكيد الملكية assert(options.pluginName, "must have plugin name");
خطأ تجاهُل معالجات المكوّنات الإضافية غير الصالحة + الاسم تأكيد الملكية assert(_.isObject(middleware), 'ignoring invalid plugin handlers ' + name);
خطأ يجب أن تحتوي الخيارات على إعدادات تأكيد الملكية assert(config, 'options must contain config')
خطأ يجب إدخال اسم للمكوّن الإضافي تأكيد الملكية assert(name,"plugin must have a name")
خطأ يجب أن يكون الاسم سلسلة تأكيد الملكية assert(_.isString(name),"name must be a string");
خطأ يجب أن تكون الإضافة دالة تأكيد الملكية assert(_.isFunction(plugin),"plugin must be a function(config,logger,stats){return {onresponse:function(req,res,data,next){}}}");
خطأ يجب أن يتضمّن مفتاحًا تأكيد الملكية assert(key, 'must have a key');
خطأ يجب أن يكون لديه سر تأكيد الملكية assert(secret, 'must have a secret');
خطأ يجب أن يتضمّن دليل إعدادات المصدر تأكيد الملكية assert(source, 'must have a source config directory');
خطأ حدث خطأ أثناء تحميل المكوّن الإضافي console.error لم يتم تحميل المكوّن الإضافي
خطأ تعذّر تنفيذ الإجراء في معالج الأخطاء callback دالة HTTP server.on()‎
خطأ طول العنوان أكبر من الحجم المسموح به خطأ في بروتوكول نقل الروابط النصية (HTTP) لا يتم تشغيل المكوّن الإضافي
خطأ انتهى الردّ قبل أن يتم إنجاز العمل logger.error لا يتم تشغيل المكوّن الإضافي المستهدف
خطأ حدث خطأ في المعالج callback تسجيل الخطأ من المكوّن الإضافي (catch)
خطأ حدث خطأ أثناء بدء تطبيق Edge المصغّر callback لا يبدأ Edge Microgateway
خطأ يجب أن يكون المكوّن الإضافي دالة طرح
تحذير console.error تحذيرات كتابة السجلّ
تحذير خطأ targetRequest استدعاء معالجة أخطاء الهدف حدث خطأ في برنامج HTTP أثناء الاتصال بالهدف
تحذير targetResponse error استدعاء معالجة أخطاء الهدف حدث خطأ في خادم HTTP المستهدف أثناء الاتصال بالهدف كما يظهر في البرنامج

وحدة microgateway-config

خطأ allow_message تأكيد الملكية assert(+config.quota.allow > 0, allow_message);
خطأ لم يتم العثور على الإعداد طرح ملف yaml للإعداد
خطأ الإعدادات فارغة طرح ملف yaml للإعداد
خطأ الإعداد ليس ملفًا طرح ملف yaml للإعداد
خطأ لم يتم تحديد الإعداد تأكيد الملكية assert(config, 'config is not defined');
خطأ قيمة config.analytics.batchSize غير صالحة تأكيد الملكية assert(+config.analytics.batchSize > 0, 'config.analytics.batchSize is invalid');
خطأ ‫config.analytics.batchSize ليس رقمًا تأكيد الملكية assert(typeof config.analytics.batchSize === 'number', 'config.analytics.batchSize is not a number');
خطأ ‫config.analytics.bufferSize غير صالح تأكيد الملكية assert(+config.analytics.bufferSize > 0, 'config.analytics.bufferSize is invalid');
خطأ ‫config.analytics.bufferSize ليس رقمًا تأكيد الملكية assert(typeof config.analytics.bufferSize === 'number', 'config.analytics.bufferSize is not a number');
خطأ config.analytics.flushInterval غير صالح تأكيد الملكية assert(+config.analytics.flushInterval > 0, 'config.analytics.flushInterval is invalid');
خطأ ‫config.analytics.flushInterval ليس رقمًا تأكيد الملكية assert(typeof config.analytics.flushInterval === 'number', 'config.analytics.flushInterval is not a number');
خطأ config.analytics.proxy ليس "dummy" تأكيد الملكية assert(config.analytics.proxy === 'dummy', 'config.analytics.proxy is not "dummy"');
خطأ لم يتم تحديد config.analytics.proxy تأكيد الملكية assert(config.analytics.proxy, 'config.analytics.proxy is not defined');
خطأ config.analytics.proxy_revision ليس رقمًا تأكيد الملكية assert(typeof config.analytics.proxy_revision === 'number', 'config.analytics.proxy_revision is not a number');
خطأ لم يتم تحديد config.analytics.proxy_revision تأكيد الملكية assert(config.analytics.proxy_revision, 'config.analytics.proxy_revision is not defined');
خطأ قيمة config.analytics.source ليست "microgateway" تأكيد الملكية assert(config.analytics.source === 'microgateway', 'config.analytics.source is not "microgateway"');
خطأ لم يتم تحديد config.analytics.source تأكيد الملكية assert(config.analytics.source, 'config.analytics.source is not defined');
خطأ ‫config.analytics.uri ليس سلسلة تأكيد الملكية assert(typeof config.analytics.uri === 'string', 'config.analytics.uri is not a string');
خطأ لم يتم تحديد config.analytics.uri تأكيد الملكية assert(config.analytics.uri, 'config.analytics.uri is not defined');
خطأ لم يتم تحديد config.apikeys.public_key تأكيد الملكية assert(typeof config.apikeys.public_key === 'string', 'config.apikeys.public_key is not defined');
خطأ لم يتم تحديد config.edge_config تأكيد الملكية assert(config.edge_config, 'config.edge_config is not defined');
خطأ لم يتم تحديد config.edge_config.bootstrap تأكيد الملكية assert(config.edge_config.bootstrap, 'config.edge_config.bootstrap is not defined');
خطأ لم يتم تحديد config.edge_config.jwt_public_key تأكيد الملكية assert(config.edge_config.jwt_public_key, 'config.edge_config.jwt_public_key is not defined');
خطأ يجب تحديد config.edge_config.proxy إذا تم تحديد config.edge_config.proxy_tunnel تأكيد الملكية assert(typeof config.edge_config.proxy !== 'undefined', 'config.edge_config.proxy must be defined if config.edge_config.proxy_tunnel is defined');
خطأ ‫config.edge_config.proxy_tunnel ليس قيمة منطقية تأكيد الملكية assert(typeof config.edge_config.proxy_tunnel === 'boolean', 'config.edge_config.proxy_tunnel is not a boolean');
خطأ config.edge_config.refresh_interval ليس رقمًا تأكيد الملكية assert(typeof config.edge_config.refresh_interval === 'number', 'config.edge_config.refresh_interval is not a number');
خطأ قيمة config.edge_config.refresh_interval صغيرة جدًا (الحد الأدنى هو ساعة واحدة) تأكيد الملكية assert(config.edge_config.refresh_interval >= 3600000, 'config.edge_config.refresh_interval is too small (min 1h)');
خطأ config.edge_config.retry_interval ليس رقمًا تأكيد الملكية assert(typeof config.edge_config.retry_interval === 'number', 'config.edge_config.retry_interval is not a number');
خطأ قيمة config.edge_config.retry_interval صغيرة جدًا (الحد الأدنى 5 ثوانٍ) تأكيد الملكية assert(config.edge_config.retry_interval >= 5000, 'config.edge_config.retry_interval is too small (min 5s)');
خطأ لم يتم تحديد config.edgemicro تأكيد الملكية assert(config.edgemicro, 'config.edgemicro is not defined');
خطأ لم يتم تحديد config.edgemicro.logging تأكيد الملكية assert(config.edgemicro.logging, 'config.edgemicro.logging is not defined');
خطأ لم يتم تحديد config.edgemicro.logging.dir تأكيد الملكية if (!config.edgemicro.logging.to_console) assert(config.edgemicro.logging.dir, 'config.edgemicro.logging.dir is not defined');
خطأ لم يتم تحديد config.edgemicro.logging.level تأكيد الملكية assert(config.edgemicro.logging.level, 'config.edgemicro.logging.level is not defined');
خطأ config.edgemicro.max_connections ليس رقمًا تأكيد الملكية assert(typeof config.edgemicro.max_connections === 'number', 'config.edgemicro.max_connections is not a number');
خطأ لم يتم تحديد config.edgemicro.max_connections تأكيد الملكية assert(config.edgemicro.max_connections, 'config.edgemicro.max_connections is not defined');
خطأ config.edgemicro.plugins.sequence ليس مصفوفة تأكيد الملكية assert(Array.isArray(config.edgemicro.plugins.sequence), 'config.edgemicro.plugins.sequence is not an array');
خطأ لم يتم تحديد config.edgemicro.port تأكيد الملكية assert(config.edgemicro.port, 'config.edgemicro.port is not defined');
خطأ لم يتم تحديد config.oauth.allowInvalidAuthorization تأكيد الملكية assert(typeof config.oauth.allowInvalidAuthorization === 'boolean', 'config.oauth.allowInvalidAuthorization is not defined');
خطأ لم يتم تحديد config.oauth.allowNoAuthorization تأكيد الملكية assert(typeof config.oauth.allowNoAuthorization === 'boolean', 'config.oauth.allowNoAuthorization is not defined');
خطأ لم يتم تحديد config.oauth.public_key تأكيد الملكية assert(typeof config.oauth.public_key === 'string', 'config.oauth.public_key is not defined');
خطأ لم يتم تحديد config.oauthv2.public_key تأكيد الملكية assert(typeof config.oauthv2.public_key === 'string', 'config.oauthv2.public_key is not defined');
خطأ لم يتم تحديد config.proxies تأكيد الملكية assert(config.proxies, 'config.proxies is not defined');
خطأ لم يتم تحديد config.proxy[ + index + ].base_path تأكيد الملكية assert(proxy.base_path, 'config.proxy[' + index + '].base_path is not defined');
خطأ config.proxy[ + index + ].max_connections ليس رقمًا تأكيد الملكية assert(typeof proxy.max_connections === 'number', 'config.proxy[' + index + '].max_connections is not a number');
خطأ لم يتم تحديد config.proxy[ + index + ].max_connections تأكيد الملكية assert(proxy.max_connections, 'config.proxy[' + index + '].max_connections is not defined');
خطأ لم يتم تحديد config.proxy[ + index + ].name تأكيد الملكية assert(proxy.name, 'config.proxy[' + index + '].name is not defined');
خطأ لم يتم تحديد config.proxy[ + index + ].proxy_name تأكيد الملكية assert(proxy.target_name, 'config.proxy[' + index + '].proxy_name is not defined');
خطأ لم يتم تحديد config.proxy[ + index + ].revision تأكيد الملكية assert(proxy.revision, 'config.proxy[' + index + '].revision is not defined');
خطأ لم يتم تحديد config.proxy[ + index + ].url تأكيد الملكية assert(proxy.url, 'config.proxy[' + index + '].url is not defined');
خطأ config.quota.allow ليس رقمًا تأكيد الملكية assert(typeof config.quota.allow === 'number', 'config.quota.allow is not a number');
خطأ لم يتم تحديد config.quota.allow تأكيد الملكية assert(config.quota.allow, 'config.quota.allow is not defined');
خطأ config.quota.interval ليس رقمًا تأكيد الملكية assert(typeof config.quota.interval === 'number', 'config.quota.interval is not a number');
خطأ لم يتم تحديد config.quota.interval تأكيد الملكية assert(config.quota.interval, 'config.quota.interval is not defined');
خطأ لم يتم تحديد config.spikearrest تأكيد الملكية assert(config.spikearrest, 'config.spikearrest is not defined');
خطأ config.spikearrest.allow غير صالح تأكيد الملكية assert(+config.spikearrest.allow > 0, 'config.spikearrest.allow is invalid');
خطأ config.spikearrest.allow ليس رقمًا تأكيد الملكية assert(typeof config.spikearrest.allow === 'number', 'config.spikearrest.allow is not a number');
خطأ لم يتم تحديد config.spikearrest.allow تأكيد الملكية assert(config.spikearrest.allow, 'config.spikearrest.allow is not defined');
خطأ config.spikearrest.bufferSize غير صالح تأكيد الملكية assert(+config.spikearrest.bufferSize > 0, 'config.spikearrest.bufferSize is invalid');
خطأ config.spikearrest.bufferSize ليس رقمًا تأكيد الملكية assert(typeof config.spikearrest.bufferSize === 'number', 'config.spikearrest.bufferSize is not a number');
خطأ لم يتم تحديد config.spikearrest.timeUnit تأكيد الملكية assert(config.spikearrest.timeUnit, 'config.spikearrest.timeUnit is not defined');
خطأ خطأ فادح: حدث خطأ أثناء تحليل قائمة المنتجات التي تم تنزيلها callback
خطأ خطأ فادح: حدث خطأ أثناء تحليل قائمة الخوادم الوكيلة التي تم تنزيلها callback
خطأ تم رصد خطأ في إعدادات المنتج console.error يليها console.warn('using old cached configuration');
خطأ حدث خطأ أثناء قراءة الإعدادات من طرح ملف yaml للإعداد
خطأ حدث خطأ أثناء حفظ الإعدادات في callback ملف yaml للإعداد
خطأ fatal: cached config not available, unable to continue callback
خطأ interval_message تأكيد الملكية assert(+config.quota.interval > 0, interval_message);
خطأ بروتوكول غير صالح لـ config.edge_config.proxy (من المتوقّع استخدام http: أو https:: + proxy_url.protocol) تأكيد الملكية assert(proxy_url.protocol === 'http:' || proxy_url.protocol === 'https:', 'invalid protocol for config.edge_config.proxy (expected http: or https:): ' + proxy_url.protocol);
خطأ مضيف وكيل غير صالح لـ config.edge_config.proxy تأكيد الملكية assert(proxy_url.hostname, 'invalid proxy host for config.edge_config.proxy: ' + proxy_url.hostname);
خطأ يبدو أنّه لم يتم إعداد ميزة "الميكروفون على الجهاز"، يُرجى الاطّلاع على دليل المشرف callback النتيجة: تعذُّر تحميل الإعدادات
خطأ المفتاح غير متوفّر تأكيد الملكية assert(keys.key, 'key is missing');
خطأ يجب توفُّر configDir تأكيد الملكية assert(configDir, 'must have configDir')
خطأ خيارات لا غنى عنها تأكيد الملكية assert(options, 'must have options');
خطأ يجب أن يتضمّن المصدر تأكيد الملكية assert(source, 'must have source')
خطأ يجب أن يتضمّن مصدرًا لتحميل البيانات منه تأكيد الملكية assert(options.source, 'must have source to load from')
خطأ يجب توفير targetFile تأكيد الملكية assert(fileName, 'must have targetFile')
خطأ لا يمكن أن تكون الخيارات فارغة تأكيد الملكية assert(options, 'options cannot be null');
خطأ لا يمكن أن تكون مفاتيح الخيارات فارغة تأكيد الملكية assert(options.keys, 'options.keys cannot be null');
خطأ port_message تأكيد الملكية assert(+config.edgemicro.port < 65536, port_message);
خطأ يجب أن تكون المنتجات مصفوفة تأكيد الملكية assert(Array.isArray(products), 'products should be an array');
خطأ يجب أن تكون "proxies for product ' + product + ' عبارة عن مصفوفة" تأكيد الملكية assert(Array.isArray(product.proxies), 'proxies for product ' + product + ' should be an array');
خطأ المفتاح السري غير متوفّر تأكيد الملكية assert(keys.secret, 'secret is missing');
خطأ لم يتم ضبط الهدف تأكيد الملكية assert(target, 'target is not set');
تحذير حدث خطأ أثناء تنزيل الإعدادات، يُرجى التحقّق من إعدادات Bootstrap console.warn
تحذير failed to download jwt_public_key console.warn
تحذير لم يتم تفعيل مفاتيح jwk console.warn
تحذير message, 'download from', url, 'returned' console.warn Search for: (.*)\sdownload from\s(.*)\sreturned
تحذير لم يتم العثور على أي منتجات صغيرة في الردّ console.warn
تحذير لم يتم العثور على أي وكلاء مصغّرين على الحافة في المؤسسة console.warn
تحذير لم يتم العثور على أي وكلاء مصغّرين على الحافة في الرد console.warn
تحذير لم يتم العثور على منتجات في المؤسسة console.warn
تحذير لم يتم العثور على أي منتجات في الردّ console.warn
تحذير استخدام الإعدادات القديمة المخزّنة مؤقتًا console.warn

وحدة microgateway-plugins

خطأ لم يتم العثور على الإعداد طرح ذات صلة بملف yaml
خطأ apikey استجابة HTTP أخطاء في المكوّن الإضافي apiky
خطأ bauth استجابة HTTP أعطال في المكوّن الإضافي bauth
خطأ extauth استجابة HTTP أخطاء في المكوّن الإضافي extauth
خطأ Oauth استجابة HTTP أعطال في المكوّن الإضافي OAuth
تحذير حدث خطأ أثناء معالجة إحصاءات Apigee. السماح بمواصلة معالجة الطلب logger.error
تحذير تجاهل الخطأ console.warn الإضافات apikeys وoauth وoauthv2
تحذير حدث خطأ في تحليل jwt: console.warn
تحذير يفتقر عنصر استجابة Oath إلى setHeader console.warn يشير خطأ مَعلمة OAuth إلى أنّه لن يتم الإبلاغ عن بعض الأخطاء.
تحذير لم يتم توفير عنصر ردّ القسم من خلال وقت التشغيل console.warn خطأ في مَعلمة OAuth
تحذير لم يتم توفير عنصر إحصاءات Oath بواسطة وقت التشغيل console.warn خطأ في مَعلمة OAuth

وحدة apigeetool-node

خطأ تعذّر حذف ذاكرة التخزين المؤقت برمز الحالة %d', res.statusCode callback تم طرحها في deletecache.js. رمز الحالة من Apigee Edge يتم تمرير خطأ تتبُّع تسلسل استدعاء الدوال البرمجية إلى دالة رد الاتصال مع الرسالة التالية: done(new Error(errMsg));
خطأ تعذّر حذف المنتج مع رمز الحالة %d', res.statusCode callback تم طرحها في deleteproduct.js. رمز الحالة من Apigee Edge يتم تمرير خطأ تتبُّع تسلسل استدعاء الدوال البرمجية إلى دالة رد الاتصال مع الرسالة التالية: done(new Error(errMsg));
خطأ يجب تحديد org وapi وrevision. callback تم طرحها في fetchproxy.js. حدث خطأ في الإعدادات.
خطأ حدث الخطأ %d عند جلب الخادم الوكيل: %j callback تم طرحها في fetchproxy.js. رمز حالة غير 200
خطأ تعذّر إنشاء التطبيق برمز الحالة %d callback يتم طرح هذا الخطأ في createapp.js. يُعيد جميع الأخطاء إلى عمليات معاودة الاتصال كأخطاء تتبُّع تسلسل استدعاء الدوال البرمجية. لا يتم عرض أي نواتج في وحدة التحكّم أو إدخالات في السجلّ.
خطأ تعذّر تنفيذ الأمر command + ' مع رمز الحالة %d callback تم طرحها في command-utils.js. بالنسبة إلى أي أمر يتم تحليله وتمريره إلى هذه الوحدة، سيؤدي أي رمز غير 200 أو 201 إلى إنشاء رسالة خطأ. تنسيق هذه الرسالة بدون طباعتها تمرِّر هذه السمة خطأ في تقرير تتبُّع تسلسل استدعاء الدوال البرمجية مع الرسالة إلى الدوالّ الرجعية.
خطأ حدث الخطأ %d أثناء استرجاع عملية المشاركة: %s callback Thrown in fetchsharedflow.js. أي حالة HTTP غير 200 إذا نجحت العملية ولكن تعذّر كتابة ملف، سيتم عرض الرسالة التالية في وحدة التحكّم:
Failed to write file
Error text: [stack_trace_error]
خطأ تعذّر إنشاء KeySecret مع رمز الحالة %d"، res.statusCode callback يتم طرح هذا الخطأ في createappkey.js. بالنسبة إلى رموز حالة HTTP من Apigee Edge التي لا تتضمّن 200 أو 201
خطأ تعذّر إنشاء ذاكرة التخزين المؤقت مع رمز الحالة %d', res.statusCode callback يتم طرحها في createcache.js. بالنسبة إلى رموز حالة HTTP من Apigee Edge التي ليست 200 أو 201
خطأ تعذّر إنشاء المنتج برمز الحالة %d', res.statusCode callback تم طرحه في createproduct.js. بالنسبة إلى رموز حالة HTTP من Apigee Edge التي ليست 201 إذا كانت حالة HTTP هي 201 ولكن الرد يتضمّن JSON للخطأ، يتم إعادة توجيه JSON للخطأ إلى دالة الرجوع.
خطأ تعذّر حذف التطبيق برمز الحالة %d', res.statusCode callback يتم طرحها في deleteapp.js. بالنسبة إلى رموز حالة HTTP من Apigee Edge التي لا تساوي 200 إذا كانت حالة HTTP هي 200 ولكن الرد يتضمّن JSON للخطأ، يتم إعادة توجيه JSON للخطأ إلى دالة معاودة الاتصال.
خطأ تعذّر إنشاء حساب المطوِّر برمز الحالة %d', res.statusCode callback تم طرحها في createdeveloper.js. بالنسبة إلى رموز حالة HTTP من Apigee Edge التي ليست 201 إذا كانت حالة HTTP هي 201 ولكن الرد يتضمّن JSON للخطأ، يتم إعادة توجيه JSON للخطأ إلى دالة الرجوع.
خطأ تعذّر حذف حساب المطوِّر برمز الحالة %d', res.statusCode callback تم طرحها في 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.

Parsing errors are sent to a callback.

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
  • allowNoAuthorization attribute == false
  • allowOAuthOnly == true
  • No Authorization header in the HTTP request
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
  • allowNoAuthorization attribute == false
  • allowOAuthOnly == true
  • No Authorization header in the HTTP request
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.