Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
В этом разделе описаны ошибки и предупреждения, с которыми вы можете столкнуться при использовании Edge Microgateway.
Общие ошибки приложений
HTTP 500, ошибка в обработчике ошибок — большинство ошибок будут иметь этот номер, как и некоторые ошибки, возвращаемые целевыми устройствами. В частности, в модуле microgateway-core используется файл errors-middleware.js. При его использовании он записывает statusCodes в лог, используя
logger object: logger.error(err, 'failed in error handler');. Для кодов, полученных от целевых устройств от 100 до 300, errors-middleware.js переписывает statusCode на 500 для возврата клиенту.HTTP 404 — В трассировке стека может отображаться сообщение «
no match found for [API_path_name].
Ошибки и предупреждения модуля
Вы можете использовать эту информацию для настройки оповещений, которые помогут вам отслеживать и управлять развертыванием Edge Microgateway.
Следующие термины, которые встречаются в справочнике ошибок в разделе «Обработчик», указывают, как обрабатываются различные ошибки в Edge Microgateway.
- assert : Как правило, Edge Microgateway останавливается, если проверка assert завершается неудачей. Однако это может быть не всегда так, поскольку "asserts" генерируют исключения, которые могут быть перехвачены.
- Выдает ошибку : Возможная остановка системы.
- callback : Ошибка передается в функцию обратного вызова, и система может продолжить работу.
| Тип | Сообщение | Обработчик | Примечания |
|---|---|---|---|
модуль микрошлюза | |||
| ошибка | org требуется | утверждать | assert(options.org,"org требуется"); |
| ошибка | требуется переменная окружения | утверждать | assert(options.env,"env is required") |
| ошибка | Имя пользователя обязательно. | утверждать | assert(options.username || options.token,"username is required"); |
| ошибка | требуется пароль | утверждать | assert(options.password || options.token,"Пароль обязателен") |
| ошибка | org требуется | утверждать | assert(options.org,"org требуется"); |
| ошибка | требуется переменная окружения | утверждать | assert(options.env,"env is required") |
| ошибка | Имя пользователя обязательно. | утверждать | assert(options.username || options.token,"username is required"); |
| ошибка | требуется пароль | утверждать | assert(options.password || options.token,"Пароль обязателен") |
| ошибка | org требуется | утверждать | assert(options.org,"org требуется"); |
| ошибка | требуется переменная окружения | утверждать | assert(options.env,"env is required") |
| ошибка | org требуется | утверждать | assert(options.org,"org требуется"); |
| ошибка | требуется переменная окружения | утверждать | assert(options.env,"env is required") |
| ошибка | Имя пользователя обязательно. | утверждать | assert(options.username, 'имя пользователя обязательно'); |
| ошибка | требуется пароль | утверждать | assert(options.password, 'Пароль обязателен'); |
| ошибка | org требуется | утверждать | assert(options.org, 'org is required'); |
| ошибка | требуется переменная окружения | утверждать | assert(options.env, 'env is required'); |
| ошибка | должен быть назначен целевой файл | утверждать | assert(targetFile, 'должен быть назначен целевой файл') |
| ошибка | должен быть ключ | утверждать | assert(key, 'должен иметь ключ'); |
| ошибка | Должно быть, у него есть секрет. | утверждать | assert(secret, 'должен иметь секрет'); |
| ошибка | необходимо настроить каталог | утверждать | assert(dir, 'каталог должен быть настроен') |
| ошибка | Функция обратного вызова должна присутствовать. | утверждать | assert(callback, 'callback must be present') |
| ошибка | Имя пользователя обязательно. | утверждать | assert(options.username, 'имя пользователя обязательно'); |
| ошибка | требуется пароль | утверждать | assert(options.password, 'Пароль обязателен'); |
| ошибка | org требуется | утверждать | assert(options.org, 'org is required'); |
| ошибка | требуется переменная окружения | утверждать | 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, 'плагины не настроены'); |
| ошибка | Каталог плагинов не существует: + pluginDir | утверждать | assert(fs.existsSync(pluginDir), 'каталог плагинов не существует: ' + pluginDir); |
| ошибка | plugindir не является директорией: + pluginDir | утверждать | assert(stat.isDirectory(), 'каталог плагина не является каталогом: ' + pluginDir); |
| ошибка | ошибка чтения каталога плагина: + pluginDir | утверждать | assert(dirs, 'ошибка чтения каталога плагина: ' + pluginDir); |
| ошибка | должен иметь жетон | утверждать | assert(token, 'должен иметь токен'); |
| ошибка | configpath не может быть пустым | утверждать | assert(config, 'configpath can't be empty'); |
| ошибка | обязательно должен быть EDGEMICRO_KEY | утверждать | assert(key, 'must have EDGEMICRO_KEY'); |
| ошибка | обязательно должен быть EDGEMICRO_SECRET | утверждать | assert(secret, 'должен иметь EDGEMICRO_SECRET'); |
| ошибка | Конфигурация отсутствует | броски | связано с файлом YAML |
| ошибка | Похоже, edgemicro уже запущен. | console.error | попытка перезаписать файл .sock |
| ошибка | Не удалось проверить наличие изменений в конфигурации. Повторная попытка будет позже. | console.error | проблема с периферийной связью |
| ошибка | Если сервер не запущен, это может быть связано с некорректным завершением работы после предыдущего запуска. | console.error | |
| ошибка | Отсутствует %s. Пожалуйста, запустите. | console.error | Отсутствует (.*), пожалуйста, запустите |
| ошибка | Перезагрузка Edgemicro оказалась безуспешной. | console.error | уровень командования |
| ошибка | Остановка устройства Edgemicro оказалась безуспешной. | console.error | Уровень командования |
| ошибка | Попробуйте удалить ' + ipcPath + ' и начните заново'. | console.error | |
| ошибка | 'Конфигурация кэша ' + cache + ' не существует. Выход.' | console.error | |
| ошибка | Не удалось записать файл конфигурации: | console.error | Конфигурирование завершится неудачей. |
| ошибка | Файл конфигурации не был загружен: | console.error | Конфигурирование завершится неудачей. |
| ошибка | Edge Micro не запустился. | console.error | Оно не должно работать. |
| ошибка | Программа edgemicro не запущена. | console.error | Проверьте процесс, он не должен быть указан. |
| ошибка | требуется переменная окружения | 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 | Конфигурация не загружается |
| ошибка | недействительный ответ от API региона | console.error | key-gen.js, cert-lib.js и private.js |
| ошибка | ключ необходим | console.error | Параметр |
| ошибка | org требуется | console.error | Параметр |
| ошибка | Порт недоступен. | console.error | Параметр |
| ошибка | требуется секрет | console.error | Параметр |
| ошибка | Протокол URL не поддерживается: | console.error | Информация о конфигурации указывает на интернет-протокол, не входящий в область действия Edge Microgateway. |
| ошибка | Проверка аналитических данных: отрицательный результат: НЕУДАЧА | console.error | Возможный сбой/отказ |
| ошибка | Проверка аналитических данных с помощью полезной нагрузки: НЕУДАЧА | console.error | Возможный сбой/отказ |
| ошибка | Проверка доступности URL-адреса Bootstrap: НЕУДАЧА | console.error | Возможный сбой/отказ |
| ошибка | Проверка доступности открытого ключа jwt: СБОЙ | console.error | Возможный сбой/отказ |
| ошибка | Проверка наличия товаров: НЕУДАЧА | console.error | Возможный сбой/отказ |
| ошибка | Проверка квоты с использованием настроенных продуктов: СБОЙ | console.error | Возможный сбой/отказ |
| предупреждать | Не удалось получить конфигурацию со шлюза. Продолжаем, попробуем использовать кэшированную копию. | console.error | |
| предупреждать | KVM уже существует в вашей организации. | console.log | |
| предупреждать | уже развернуто | console.log | |
| предупреждать | Последовательный плагин не найден: | console.warn | |
| предупреждать | pluginDir %s не существует | console.log | pluginDir (.*) не существует |
модуль ядра микрошлюза | |||
| ошибка | Конфигурация не инициализирована | утверждать | assert(config, 'config not initialized') |
| ошибка | должна быть конфигурация | утверждать | assert(config, ' must have a config') |
| ошибка | необходима конфигурация | утверждать | assert(config, 'must have config') |
| ошибка | В конфигурации должен быть указан UID. | утверждать | assert(config.uid, 'config must have uid'); |
| ошибка | В конфигурации обязательно должен присутствовать параметр config.edgemicro.logging. | утверждать | assert(logConfig, 'необходимо наличие config.edgemicro.logging в конфигурации'); |
| ошибка | метод запроса должен быть | утверждать | assert(httpLibrary.request, 'необходимо наличие метода запроса'); |
| ошибка | плагин должен быть загружен в память. | утверждать | assert(options.plugin, "плагин должен быть загружен в память"); |
| ошибка | init должен быть функцией | утверждать | assert(_.isFunction(options.plugin.init), 'init must be a function'); |
| ошибка | обязательно должно быть имя плагина | утверждать | assert(options.pluginName, "должно содержать имя плагина"); |
| ошибка | игнорирование недействительных обработчиков плагинов + имя | утверждать | assert(_.isObject(middleware), 'игнорирование недопустимых обработчиков плагинов ' + name); |
| ошибка | Параметры должны содержать конфигурацию. | утверждать | assert(config, 'options must contain config') |
| ошибка | у плагина должно быть имя. | утверждать | assert(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, 'должен иметь ключ'); |
| ошибка | Должно быть, у него есть секрет. | утверждать | assert(secret, 'должен иметь секрет'); |
| ошибка | должен быть каталог исходной конфигурации. | утверждать | assert(source, 'необходимо указать каталог конфигурации источника'); |
| ошибка | ошибка загрузки плагина | console.error | Плагин не загружен |
| ошибка | сбой в обработчике ошибок | перезвонить | Функция HTTP server.on() |
| ошибка | Длина заголовка превышает допустимый размер. | HTTP-ошибка | Плагин не запускается |
| ошибка | Ответ завершен до того, как можно будет приступить к работе. | logger.error | Целевой плагин не запускается |
| ошибка | Обработчик вызвал исключение. | перезвонить | Ошибка захвата из плагина (catch) |
| ошибка | ошибка начального края микро | перезвонить | Edge Microgateway не запускается. |
| ошибка | плагин должен быть функцией | броски | |
| предупреждать | console.error | предупреждает | Ведение журнала |
| предупреждать | ошибка targetRequest | обработка ошибок при вызове целевого объекта | Ошибка HTTP-клиента при подключении к целевому объекту. |
| предупреждать | ошибка targetResponse | обработка ошибок при вызове целевого объекта | Ошибка HTTP-сервера при подключении к целевому объекту, наблюдаемая на стороне клиента. |
модуль microgateway-config | |||
| ошибка | allow_message | утверждать | assert(+config.quota.allow > 0, allow_message); |
| ошибка | Конфигурация отсутствует | броски | Конфигурационный YAML-файл |
| ошибка | Конфигурация пуста | броски | Конфигурационный YAML-файл |
| ошибка | config не является файлом | броски | Конфигурационный 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 не является "фиктивным" | утверждать | 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 должен быть определен, если config.edge_config.proxy_tunnel определен'); |
| ошибка | 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 слишком мало (минимум 1 час). | утверждать | assert(config.edge_config.refresh_interval >= 3600000, 'config.edge_config.refresh_interval слишком мал (минимум 1 час)'); |
| ошибка | 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 слишком мал (минимум 5 с)'); |
| ошибка | 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.spikerrest не определен | утверждать | 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'); |
| ошибка | КРИТИЧЕСКАЯ ОШИБКА: ошибка при разборе загруженного списка товаров. | перезвонить | |
| ошибка | КРИТИЧЕСКАЯ ОШИБКА: ошибка при разборе загруженного списка прокси-серверов. | перезвонить | |
| ошибка | ОБНАРУЖЕНА ОШИБКА НЕПРАВИЛЬНОЙ КОНФИГУРАЦИИ ИЗДЕЛИЯ | console.error | Затем следует console.warn('используется старая кэшированная конфигурация'); |
| ошибка | ошибка чтения конфигурации из | броски | Конфигурационный YAML-файл |
| ошибка | ошибка сохранения конфигурации в | перезвонить | Конфигурационный YAML-файл |
| ошибка | fatal: кэшированная конфигурация недоступна, продолжение невозможно | перезвонить | |
| ошибка | интервал_сообщение | утверждать | 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:', 'недопустимый протокол для config.edge_config.proxy (ожидался http: или https:): ' + proxy_url.protocol); |
| ошибка | Недопустимый хост прокси для config.edge_config.proxy | утверждать | assert(proxy_url.hostname, 'недопустимый хост прокси для config.edge_config.proxy: ' + proxy_url.hostname); |
| ошибка | Похоже, Edge Micro не настроен. Пожалуйста, ознакомьтесь с руководством администратора. | перезвонить | Результат: Не удаётся загрузить конфигурацию. |
| ошибка | Ключ отсутствует | утверждать | assert(keys.key, 'ключ отсутствует'); |
| ошибка | необходимо иметь configDir | утверждать | assert(configDir, 'must have configDir') |
| ошибка | обязательные варианты | утверждать | assert(options, 'необходимо иметь опции'); |
| ошибка | необходимо иметь источник | утверждать | assert(source, 'must have source') |
| ошибка | Необходимо наличие источника для загрузки. | утверждать | assert(options.source, 'необходимо указать источник для загрузки') |
| ошибка | необходимо иметь целевой файл | утверждать | assert(fileName, 'must have targetFile') |
| ошибка | параметры не могут быть пустыми. | утверждать | assert(options, 'options cannot be null'); |
| ошибка | Параметр options.keys не может быть пустым. | утверждать | 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'); |
| ошибка | 'прокси для продукта ' + продукт + ' должны быть массивом' | утверждать | assert(Array.isArray(product.proxies), 'прокси для продукта ' + product + ' должны быть массивом'); |
| ошибка | секрет отсутствует | утверждать | assert(keys.secret, 'secret is missing'); |
| ошибка | Цель не задана | утверждать | assert(target, 'цель не задана'); |
| предупреждать | Ошибка при загрузке конфигурации, пожалуйста, проверьте конфигурацию начальной загрузки. | console.warn | |
| предупреждать | не удалось загрузить jwt_public_key | console.warn | |
| предупреждать | Ключи JWK не включены | console.warn | |
| предупреждать | сообщение, 'скачать с', url, 'возвращено' | console.warn | Поиск: (.*)\sdownload from\s(.*)\sreturned |
| предупреждать | В ответ не найдено ни одного продукта Edge Micro. | console.warn | |
| предупреждать | В организации не обнаружено микропрокси-серверов Edge. | console.warn | |
| предупреждать | В ответе не обнаружено микропрокси-серверов. | console.warn | |
| предупреждать | В организации не найдено ни одного товара. | console.warn | |
| предупреждать | Товары не найдены в ответе | console.warn | |
| предупреждать | использование старой кэшированной конфигурации | console.warn | |
модуль microgateway-plugins | |||
| ошибка | Конфигурация отсутствует | броски | Относится к файлу YAML. |
| ошибка | апикей | HTTP-ответ | Сбои в плагине apiky |
| ошибка | баут | HTTP-ответ | Сбои в плагине аутентификации |
| ошибка | экстаут | HTTP-ответ | Сбои в плагине extauth |
| ошибка | Oauth | HTTP-ответ | Сбои в плагине OAuth |
| предупреждать | Произошла ошибка при обработке данных Apigee Analytics. Разрешить продолжение обработки запроса. | logger.error | |
| предупреждать | игнорирование ошибки | console.warn | apikeys, oauth и плагины oauthv2 |
| предупреждать | Ошибка при разборе JWT: | console.warn | |
| предупреждать | Объект ответа Oath не имеет параметра setHeader. | console.warn | Ошибка параметра OAuth указывает на то, что некоторые ошибки не будут сообщены. |
| предупреждать | Объект ответа OAT не предоставляется средой выполнения. | console.warn | ошибка параметра OAuth |
| предупреждать | Объект oath stats не предоставляется средой выполнения. | 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, api и revision! | перезвонить | Ошибка возникает в файле fetchproxy.js. Ошибка конфигурации. |
| ошибка | Получена ошибка %d при получении прокси: %j | перезвонить | Ошибка в файле fetchproxy.js. Код состояния отличается от 200. |
| ошибка | Создание приложения завершилось с ошибкой со статусом %d | перезвонить | Добавлено в createapp.js. Все ошибки передаются обратно в коллбэки в виде трассировки стека. Не выводится в консоль и не записывается в лог. |
| ошибка | Команда + ' завершилась с кодом состояния %d | перезвонить | Добавлено в command-utils.js. Для любой команды, обработанной и переданной этому модулю, любой код, отличный от 200 или 201, сгенерирует сообщение об ошибке. Форматирует это сообщение, но не выводит его на экран. Передает трассировку стека с сообщением обратно в функции обратного вызова. |
| ошибка | Получена ошибка %d при получении общего потока: %s | перезвонить | Добавлено в fetchsharedflow.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.
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2026-08-27 UTC.