Edge Microgateway 錯誤參考資料

您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件
資訊

本主題說明您可能會使用 Edge Microgateway 的錯誤和警告。

一般應用程式錯誤

  • 「HTTP 500, failed in errorHandler」:大多數錯誤都會包含這個數字,以及某些目標傳回的錯誤。特別是,microgateway-core 模組會使用 error-middleware.js。使用時,系統會使用 Edge Microgateway logger object: logger.error(err, 'failed in error handler'); 將 statusCodes 寫入記錄。針對從 100 到 300 之間的程式碼,error-middleware.js 會將 statusCode 重寫為 500,以便返回用戶端。

  • HTTP 404 - 您可能會看到這個狀態做為堆疊追蹤,並附有 no match found for [API_path_name] 訊息。

模組錯誤和警告

您可以使用這項資訊來設定快訊,以監控及管理 Edge Microgateway 部署作業。

「Handler」(處理常式) 底下的錯誤參考資料中包含下列字詞,說明系統如何處理 Edge Microgateway 中的各項錯誤。

  • assert:通常宣告評估失敗時,Edge Microgateway 就會停止。不過,不一定每次都會如此,因為「斷言」會擲回可能偵測到的例外狀況。
  • throws:系統可能停止。
  • 回呼:錯誤會傳遞至回呼,且系統可能會繼續。
類型 訊息 Handler 附註

微閘道模組

錯誤 必須提供機構 斷言 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, '必須具有指派的目標檔案')
錯誤 必須有索引鍵 斷言 assert(key, '必須擁有一個鍵');
錯誤 必須提供密鑰 斷言 assert(secret, ' must have aSecret');
錯誤 必須先設定 dir 斷言 assert(dir, '必須先設定目錄')
錯誤 回呼必須存在 斷言 assert(回呼, '回呼必須存在')
錯誤 必須提供使用者名稱 斷言 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")
錯誤 必須有目標 斷言 assert(options.target, 'must have target');
錯誤 未設定外掛程式 斷言 assert(config.edgemicro.plugins, 'plugins not 完成設定');
錯誤 pluginDir 外掛程式不存在:+ pluginDir 斷言 assert(fs.existsSync(pluginDir), 'plugin dir 不存在: ' + pluginDir);
錯誤 Plugin dir 不是目錄:+ pluginDir 斷言 assert(stat.isDirectory(), 'plugin dir is not a directory: ' + pluginDir);
錯誤 讀取外掛程式 dir: + pluginDir 時發生錯誤 斷言 assert(dirs, 'error read plugin dir: ' + pluginDir);
錯誤 必須有權杖 斷言 assert(token, 's have a token');
錯誤 configpath 不得留空 斷言 assert(config, 'configpath can’t be empty');
錯誤 必須具備 EDGEMICRO_KEY 斷言 assert(key, '必須擁有 EDGEMICRO_KEY');
錯誤 必須具備 EDGEMICRO_SECRET 斷言 assert(secret, 'must have EDGEMICRO_SECRET');
錯誤 設定不存在 擲回 與 YAML 檔案相關的
錯誤 Edgemicro 可能已經在執行中。 console.error 嘗試覆寫 .sock 檔案
錯誤 無法檢查設定中的變更。將於 console.error 邊緣通訊相關問題
錯誤 如果伺服器未執行,可能是因為不正確的預先啟動關閉。 console.error
錯誤 找不到 %s,請執行 console.error 缺少 (.*),請執行
錯誤 無法重新載入 Edgemicro console.error 指令層級
錯誤 無法停止 Edgemicro console.error 指令層級
錯誤 「嘗試移除 ' + ipcPath + ',然後重新開始」 console.error
錯誤 「快取設定」 + 快取 + ' 不存在。即將退出。 console.error
錯誤 無法寫入設定檔: console.error 設定失敗
錯誤 設定檔無法下載: console.error 設定失敗
錯誤 無法啟動 Edge micro 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 設定未載入
錯誤 區域 API 的回應無效 console.error key-gen.js、cert-lib.js 和 private.js
錯誤 必須提供金鑰 console.error 參數
錯誤 必須提供機構 console.error 參數
錯誤 則無法使用通訊埠。 console.error 參數
錯誤 必須提供 Secret console.error 參數
錯誤 不支援此網址通訊協定: console.error 設定資訊指出某個網際網路通訊協定不在 Edge Microgateway 的範圍內
錯誤 驗證 Analytics (分析) 陰性案例:失敗 console.error 可能當機/失敗
錯誤 使用酬載驗證數據分析:失敗 console.error 可能當機/失敗
錯誤 確認啟動網址可用性:FAIL console.error 可能當機/失敗
錯誤 驗證 jwt_public_key 可用性:FAIL 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 初始化')
錯誤 必須有設定 斷言 assert(config, '必須含有設定')
錯誤 都必須設定 斷言 assert(config, '必須具有 config')
錯誤 設定必須擁有 uid 斷言 assert(config.uid, 'config must have uid');
錯誤 設定中必須含有 config.edgemicro.logging 斷言 assert(logConfig, '必須包含 config.edgemicro.logging in config');
錯誤 必須具備要求方法 斷言 assert(httpLibrary.request, 'must have request method');
錯誤 必須在記憶體 斷言 assert(options.plugin, "必須載入記憶體中的外掛程式");
錯誤 init 必須是函式 斷言 assert(_.isFunction(options.plugin.init), 'init is a function');
錯誤 必須有外掛程式名稱 斷言 assert(options.pluginName, "must have plugin name");
錯誤 忽略無效的外掛程式處理常式 + 名稱 斷言 assert(_.isObject(中介軟體), 「忽略無效的外掛程式處理常式」+ name);
錯誤 選項必須包含 斷言 assert(config, '選項必須包含 config')
錯誤 外掛程式的名稱 斷言 assert(name,"plugin 必須具有名稱")
錯誤 名稱必須是字串 斷言 assert(_.isString(name),"name 必須是字串");
錯誤 外掛程式必須為函式 斷言 assert(_.isFunction(plugin),"外掛程式必須是一個函式(config,logger,stats){return {onresponse:function(req,res,data,next){}}}");
錯誤 必須有索引鍵 斷言 assert(key, '必須擁有一個鍵');
錯誤 必須提供密鑰 斷言 assert(secret, ' must have aSecret');
錯誤 必須具備來源設定目錄 斷言 assert(source, 's have a source config Directory');
錯誤 載入外掛程式時發生錯誤 console.error 未載入外掛程式
錯誤 失敗處理常式失敗 回呼 HTTP server.on() 函式
錯誤 標題長度超過允許的大小上限 HTTP 錯誤 不執行外掛程式
錯誤 在工作尚未處理完成前已完成回應 logger.error 無法執行目標外掛程式
錯誤 處理常式擲回例外狀況 回呼 從外掛程式擷取錯誤 (catch)
錯誤 啟動 Edge Microcros 時發生錯誤 回呼 Edge Microgateway 無法啟動
錯誤 外掛程式必須為函式 擲回
警告 console.error 警告 記錄檔寫入
警告 targetRequest 錯誤 叫用目標錯誤處理機制 與目標連線時發生 HTTP 用戶端錯誤
警告 targetResponse 錯誤 叫用目標錯誤處理機制 與用戶端中顯示的目標連線發生 HTTP 目標伺服器錯誤

microgateway-config 模組

錯誤 allow_message 斷言 assert(+config.quota.allow > 0, allow_message);
錯誤 設定不存在 擲回 設定 yaml 檔案
錯誤 設定中沒有內容 擲回 設定 yaml 檔案
錯誤 設定檔不是檔案 擲回 設定 yaml 檔案
錯誤 未定義 Config 斷言 assert(config, 'config 未定義');
錯誤 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 不是數字');
錯誤 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 不是數字');
錯誤 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 不是「dummy」');
錯誤 未定義 config.analytics.proxy 斷言 assert(config.analytics.proxy, 'config.analytics.proxy not 定義');
錯誤 config.analytics.proxy_revision 不是數字 斷言 assert(typeof config.analytics.proxy_revision === 'number', 'config.analytics.proxy_revision 不是數字');
錯誤 未定義 config.analytics.proxy_revision 斷言 assert(config.analytics.proxy_revision, 'config.analytics.proxy_revision notdefined');
錯誤 config.analytics.source 不是「microgateway」 斷言 assert(config.analytics.source === 'microgateway', 'config.analytics.source 不是 "microgateway"');
錯誤 未定義 config.analytics.source 斷言 assert(config.analytics.source, 'config.analytics.source 未定義');
錯誤 config.analytics.uri 不是字串 斷言 assert(typeof config.analytics.uri === 'string', 'config.analytics.uri 不是字串');
錯誤 未定義 config.analytics.uri 斷言 assert(config.analytics.uri, 'config.analytics.uri not 定義');
錯誤 未定義 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 未定義');
錯誤 未定義 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 未定義');
錯誤 如果已定義 config.edge_config.proxy_tunnel,就必須定義 config.edge_config.proxy 斷言 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 不是 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」過小 (至少 1h)');
錯誤 config.edge_config.retry_interval 不是數字 斷言 assert(typeof config.edge_config.retry_interval === 'number', 'config.edge_config.retry_interval 不是數字');
錯誤 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 未定義)
錯誤 未定義 config.edgemicro.logging 斷言 assert(config.edgemicro.logging, 'config.edgemicro.logging not 定義');
錯誤 未定義 config.edgemicro.logging.dir 斷言 if (!config.edgemicro.logging.to_console) assert(config.edgemicro.logging.dir, 'config.edgemicro.logging.dir notdefined');
錯誤 未定義 config.edgemicro.logging.level 斷言 assert(config.edgemicro.logging.level, 'config.edgemicro.logging.level not 定義');
錯誤 config.edgemicro.max_connections 不是數字 斷言 assert(typeof config.edgemicro.max_connections === 'number', 'config.edgemicro.max_connections 不是數字');
錯誤 未定義 config.edgemicro.max_connections 斷言 assert(config.edgemicro.max_connections, 'config.edgemicro.max_connections 未定義');
錯誤 config.edgemicro.plugins.sequence 不是陣列 斷言 assert(Array.isArray(config.edgemicro.plugins.sequence), 'config.edgemicro.plugins.sequence 並非陣列');
錯誤 未定義 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 未定義');
錯誤 未定義 config.oauth.allowNoAuthorization 斷言 assert(typeof config.oauth.allowNoAuthorization === 'boolean', 'config.oauth.allowNoAuthorization 未定義');
錯誤 未定義 config.oauth.public_key 斷言 assert(typeof config.oauth.public_key === 'string', 'config.oauth.public_key'未定義');
錯誤 未定義 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 未定義');
錯誤 未定義 config.proxy[ + index + ].base_path 斷言 assert(proxy.base_path, 'config.proxy[' + index + '].base_path 未定義');
錯誤 config.proxy[ + index + ].max_connections 並非數字 斷言 assert(typeof Proxy.max_connections === '數字', 'config.proxy[' + index + '].max_connections 不是數字');
錯誤 未定義 config.proxy[ + index + ].max_connections 斷言 assert(proxy.max_connections, 'config.proxy[' + index + '].max_connections 未定義)
錯誤 未定義 config.proxy[ + index + ].name 斷言 assert(proxy.name, 'config.proxy[' + index + '].name 未定義');
錯誤 未定義 config.proxy[ + index + ].proxy_name 斷言 assert(proxy.target_name, 'config.proxy[' + index + '].proxy_name 未定義');
錯誤 未定義 config.proxy[ + index + ].revision 斷言 assert(proxy.revision, 'config.proxy[' + index + '].revision 未定義')
錯誤 未定義 config.proxy[ + index + ].url 斷言 assert(proxy.url, 'config.proxy[' + index + '].url 未定義');
錯誤 config.quota.allow 不是數字 斷言 assert(typeof config.quota.allow === 'number', 'config.quota.allow 不是數字');
錯誤 未定義 config.quota.allow 斷言 assert(config.quota.allow, 'config.quota.allow) 未定義');
錯誤 config.quota.interval 不是數字 斷言 assert(typeof config.quota.interval === 'number', 'config.quota.interval is is a number');
錯誤 未定義 config.quota.interval 斷言 assert(config.quota.interval, 'config.quota.interval is not defined');
錯誤 未定義 config.spikearrest 斷言 assert(config.spikearrest, 'config.spikearrest' is notdefined');
錯誤 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 不是數字');
錯誤 未定義 config.spikearrest.allow 斷言 assert(config.spikearrest.allow, 'config.spikearrest.allow not 定義');
錯誤 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 未定義');
錯誤 嚴重錯誤:剖析下載的產品清單時發生錯誤 回呼
錯誤 嚴重錯誤:剖析下載的 Proxy 清單時發生錯誤 回呼
錯誤 偵測到產品設定有誤的錯誤 console.error 遵循 console.warn('使用舊的快取設定');
錯誤 擲回 設定 yaml 檔案
錯誤 將設定儲存至 回呼 設定 yaml 檔案
錯誤 fatal:無法使用快取設定,無法繼續 回呼
錯誤 interval_message 斷言 assert(+config.quota.interval > 0, 間隔_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 的無效 Proxy 主機 斷言 assert(proxy_url.hostname, 'invalid Proxy host for config.edge_config.proxy: ' + Proxy_url.hostname);
錯誤 似乎尚未設定 Edge micro,請參閱管理員指南 回呼 結果:無法載入設定
錯誤 缺少鍵 斷言 assert(keys.key, '找不到金鑰');
錯誤 必須具備 configDir 斷言 assert(configDir, '必須有 configDir')
錯誤 必須有選項 斷言 assert(選項, '必須有選項');
錯誤 必須有來源 斷言 assert(source, 's have source')
錯誤 必須有一定來源的 斷言 assert(options.source, 'must have source to load from')
錯誤 必須具備 targetFile 斷言 assert(fileName, '必須有 targetFile')
錯誤 選項不得為空值 斷言 assert(options, 'options cannot be null');
錯誤 options.keys 不得為空值 斷言 assert(options.keys, 'options.keys cannot null');
錯誤 port_message 斷言 assert(+config.edgemicro.port < 65536, port_message);
錯誤 產品應為陣列 斷言 assert(Array.isArray(products), '產品應該是陣列');
錯誤 「產品 + 產品 + 的 Proxy 應為陣列」 斷言 assert(Array.isArray(product.proxies),「proxies for product 」 + product + ' is a 陣列');
錯誤 缺少密鑰 斷言 assert(keys.secret, 'Secret is missing');
錯誤 未設定目標 斷言 assert(target, '目標未設定')
警告 下載設定時發生錯誤,請檢查 Bootstrap 設定 console.warn
警告 無法下載 jwt_public_key console.warn
警告 未啟用 jwk 金鑰 console.warn
警告 訊息, 'download from', url, 'returned' console.warn 搜尋:(.*)\sdownload from\s(.*)\sreturned
警告 回應中找不到任何邊緣微產品 console.warn
警告 在機構中找不到邊緣微型 Proxy console.warn
警告 回應中沒有邊緣微型 Proxy 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
警告 忽略 err console.warn apikeys、OAuth 和 oauthv2 外掛程式
警告 剖析 jwt 時發生錯誤: console.warn
警告 Oath 回應物件缺少 setHeader console.warn OAuth 參數錯誤表示不會回報某些錯誤。
警告 執行階段未提供 Oath 回應物件 console.warn OAuth 參數錯誤
警告 執行階段未提供 OathStats 物件。 console.warn OAuth 參數錯誤

apigeetool-node 模組

錯誤 無法刪除快取,狀態碼為 %d',res.statusCode 回呼 在 deletecache.js 中擲回。Apigee Edge 的狀態碼。傳遞給回呼堆疊追蹤錯誤的訊息:已完成(new Error(errMsg));
錯誤 無法刪除產品,狀態碼為 %d',res.statusCode 回呼 擲回 in deleteproduct.js。Apigee Edge 的狀態碼。傳遞給回呼堆疊追蹤錯誤的訊息:已完成(new Error(errMsg));
錯誤 機構、API 和修訂版本全部都必須指定! 回呼 在擷取 Proxy.js 中。設定發生錯誤。
錯誤 擷取 Proxy 時收到 %d 錯誤:%j 回呼 在擷取 Proxy.js 中。200 以外的狀態碼。
錯誤 無法建立應用程式,狀態碼為 %d 回呼 在 createapp.js 中擲回。將所有錯誤傳回回呼,做為堆疊追蹤錯誤。沒有任何主控台列印或記錄項目。
錯誤 指令 + ' 失敗,狀態碼為 %d 回呼 在 command-utils.js 中擲回。以剖析並傳遞至這個模組的任何指令來說,非 200 或 201 的程式碼都會產生錯誤訊息。格式化這則訊息,但不會列印。將含有訊息的堆疊追蹤錯誤傳回回呼。
錯誤 擷取共用流程時接收 %d 錯誤:%s 回呼 在 Fetchsharedflow.js 中擲回。非 200 的任何 HTTP 狀態。如果成功,但無法寫入檔案,該檔案會寫入控制台:
無法寫入檔案
錯誤訊息:[stack_trace_error]
錯誤 無法建立 KeySecret,狀態碼為 %d',res.statusCode 回呼 在 createappkey.js 中擲回。適用於 Apigee Edge 非 200 或 201 的 HTTP 狀態碼。
錯誤 無法建立快取,狀態碼為 %d',res.statusCode 回呼 在 createcache.js 中擲回。適用於 Apigee Edge 非 200 或 201 的 HTTP 狀態碼。
錯誤 無法建立產品,狀態碼為 %d',res.statusCode 回呼 在 createproduct.js 中。適用於 Apigee Edge 非 201 的 HTTP 狀態碼。如果 HTTP 狀態為 201,但回應包含錯誤的 JSON,系統會將錯誤 JSON 轉送至回呼。
錯誤 無法刪除應用程式,狀態碼為 %d',res.statusCode 回呼 在 deleteapp.js 中擲回。適用於 Apigee Edge 非 200 的 HTTP 狀態碼。如果 HTTP 狀態為 200,但回應包含錯誤的 JSON,系統會將錯誤 JSON 轉送至回呼。
錯誤 無法建立開發人員,狀態碼為 %d',res.statusCode 回呼 在 createdeveloper.js 中擲回。適用於 Apigee Edge 非 201 的 HTTP 狀態碼。如果 HTTP 狀態為 201,但回應包含錯誤的 JSON,系統會將錯誤 JSON 轉送至回呼。
錯誤 無法刪除開發人員,狀態碼為 %d',res.statusCode 回呼 擲回 in deletedeveloper.js。適用於 Apigee Edge 非 200 的 HTTP 狀態碼。如果 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.