Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi
Apigee X. info
Topik ini menjelaskan error dan peringatan yang mungkin Anda alami dengan Edge Microgateway.
Error aplikasi umum
HTTP 500, gagal di pengendali error - Sebagian besar error akan memiliki angka ini, begitu juga beberapa error yang ditampilkan dari target. Khususnya, errors-middleware.js digunakan di seluruh modul microgateway-core. Saat digunakan, kode ini akan menulis statusCodes ke logging menggunakan Edge Microgateway
logger object: logger.error(err, 'failed in error handler');. Untuk kode yang diterima dari target antara 100 dan 300, errors-middleware.js menulis ulang statusCode menjadi 500 untuk dikembalikan ke klien.HTTP 404 - Anda mungkin melihat status ini dihasilkan sebagai stack trace dengan pesan,
no match found for [API_path_name].
Error dan peringatan modul
Anda dapat menggunakan informasi ini untuk mengonfigurasi pemberitahuan yang membantu Anda memantau dan mengelola deployment Edge Microgateway.
Istilah berikut, yang muncul dalam referensi error di bagian "Handler", menunjukkan cara penanganan berbagai error di Edge Microgateway.
- assert: Biasanya, Edge Microgateway akan berhenti saat evaluasi pernyataan gagal. Namun, hal itu tidak selalu terjadi, karena "assert" memunculkan pengecualian yang dapat ditangkap.
- throws: Kemungkinan sistem berhenti.
- callback: Error diteruskan ke callback dan sistem dapat berlanjut.
| Jenis | Pesan | Handler | Catatan |
|---|---|---|---|
modul microgateway |
|||
| error | org wajib diisi | tegaskan | assert(options.org,"org is required"); |
| error | env wajib diisi | tegaskan | assert(options.env,"env is required") |
| error | Nama pengguna wajib diisi | tegaskan | assert(options.username || options.token,"username is required"); |
| error | sandi wajib diisi | tegaskan | assert(options.password || options.token,"password is required") |
| error | org wajib diisi | tegaskan | assert(options.org,"org is required"); |
| error | env wajib diisi | tegaskan | assert(options.env,"env is required") |
| error | Nama pengguna wajib diisi | tegaskan | assert(options.username || options.token,"username is required"); |
| error | sandi wajib diisi | tegaskan | assert(options.password || options.token,"password is required") |
| error | org wajib diisi | tegaskan | assert(options.org,"org is required"); |
| error | env wajib diisi | tegaskan | assert(options.env,"env is required") |
| error | org wajib diisi | tegaskan | assert(options.org,"org is required"); |
| error | env wajib diisi | tegaskan | assert(options.env,"env is required") |
| error | Nama pengguna wajib diisi | tegaskan | assert(options.username, 'username is required'); |
| error | sandi wajib diisi | tegaskan | assert(options.password, 'password is required'); |
| error | org wajib diisi | tegaskan | assert(options.org, 'org is required'); |
| error | env wajib diisi | tegaskan | assert(options.env, 'env is required'); |
| error | harus memiliki file target yang ditetapkan | tegaskan | assert(targetFile, 'must have an assigned target file') |
| error | harus memiliki kunci | tegaskan | assert(key, 'must have a key'); |
| error | harus memiliki secret | tegaskan | assert(secret, 'must have a secret'); |
| error | dir harus dikonfigurasi | tegaskan | assert(dir, 'dir must be configured') |
| error | callback harus ada | tegaskan | assert(callback, 'callback harus ada') |
| error | Nama pengguna wajib diisi | tegaskan | assert(options.username, 'username is required'); |
| error | sandi wajib diisi | tegaskan | assert(options.password, 'password is required'); |
| error | org wajib diisi | tegaskan | assert(options.org, 'org is required'); |
| error | env wajib diisi | tegaskan | assert(options.env, 'env is required'); |
| error | runtimeUrl wajib diisi | tegaskan | assert(options.runtimeUrl, 'runtimeUrl is required'); |
| error | mgmtUrl wajib diisi | tegaskan | assert(options.mgmtUrl, 'mgmtUrl is required'); |
| error | file wajib diisi | tegaskan | assert(options.file,"file is required") |
| error | harus memiliki target | tegaskan | assert(options.target, 'must have target'); |
| error | plugin tidak dikonfigurasi | tegaskan | assert(config.edgemicro.plugins, 'plugins not configured'); |
| error | plugin dir tidak ada: + pluginDir | tegaskan | assert(fs.existsSync(pluginDir), 'plugin dir does not exist: ' + pluginDir); |
| error | plugin dir bukan direktori: + pluginDir | tegaskan | assert(stat.isDirectory(), 'plugin dir is not a directory: ' + pluginDir); |
| error | error saat membaca direktori plugin: + pluginDir | tegaskan | assert(dirs, 'error reading plugin dir: ' + pluginDir); |
| error | harus memiliki token | tegaskan | assert(token, 'must have a token'); |
| error | configpath tidak boleh kosong | tegaskan | assert(config, 'configpath tidak boleh kosong'); |
| error | harus memiliki EDGEMICRO_KEY | tegaskan | assert(key, 'must have EDGEMICRO_KEY'); |
| error | harus memiliki EDGEMICRO_SECRET | tegaskan | assert(secret, 'must have EDGEMICRO_SECRET'); |
| error | konfigurasi tidak ada | lemparan | terkait dengan file yaml |
| error | edgemicro tampaknya sudah berjalan. | console.error | mencoba menimpa file .sock |
| error | Gagal memeriksa perubahan di Konfigurasi. Akan dicoba lagi setelah | console.error | masalah dengan komunikasi edge |
| error | Jika server tidak berjalan, hal ini mungkin karena penonaktifan yang salah pada saat memulai sebelumnya. | console.error | |
| error | %s tidak ada, Jalankan | console.error | Tidak ada (.*), Jalankan |
| error | Memuat ulang edgemicro gagal | console.error | tingkat perintah |
| error | Penghentian edgemicro tidak berhasil | console.error | Tingkat perintah |
| error | 'Coba hapus ' + ipcPath + ' dan mulai lagi' | console.error | |
| error | 'cache configuration ' + cache + ' does not exist. exiting.' (konfigurasi cache ' + cache + ' tidak ada. keluar.) | console.error | |
| error | File konfigurasi tidak dapat ditulis: | console.error | Konfigurasi akan gagal |
| error | File konfigurasi tidak didownload: | console.error | Konfigurasi akan gagal |
| error | edge micro gagal dimulai | console.error | Tidak boleh berjalan |
| error | edgemicro tidak berjalan. | console.error | Proses pemeriksaan tidak boleh dicantumkan |
| error | env wajib diisi | console.error | Variabel lingkungan yang diperlukan untuk menjalankan |
| error | error - mengedit Callout.xml apiproxy | console.error | Akses file |
| error | error - mengedit default.xml apiproxy | console.error | Akses file |
| error | error saat memeriksa sertifikat. Menginstal sertifikat baru. | console.error | Kunci publik tidak dapat digunakan |
| error | error saat mengambil wilayah untuk organisasi | console.error | key-gen.js, cert-lib.js, dan private.js |
| error | terjadi error saat mengupload kredensial | console.error | Tidak dapat menyinkronkan kunci publik dengan Edge |
| error | gagal | console.error | key-gen.js |
| error | gagal menginisialisasi file configpath %s | console.error | Konfigurasi tidak dimuat |
| error | respons tidak valid dari region API | console.error | key-gen.js, cert-lib.js, dan private.js |
| error | kunci wajib diisi | console.error | Parameter |
| error | org wajib diisi | console.error | Parameter |
| error | port tidak tersedia. | console.error | Parameter |
| error | rahasia wajib diisi | console.error | Parameter |
| error | Protokol URL tidak didukung: | console.error | Informasi konfigurasi menunjukkan protokol internet yang tidak dalam cakupan Edge Microgateway |
| error | memverifikasi kasus negatif analisis: GAGAL | console.error | Kemungkinan terjadi error/kegagalan |
| error | memverifikasi analisis dengan payload: GAGAL | console.error | Kemungkinan terjadi error/kegagalan |
| error | memverifikasi ketersediaan URL bootstrap:GAGAL | console.error | Kemungkinan terjadi error/kegagalan |
| error | memverifikasi ketersediaan jwt_public_key: GAGAL | console.error | Kemungkinan terjadi error/kegagalan |
| error | memverifikasi ketersediaan produk: GAGAL | console.error | Kemungkinan terjadi error/kegagalan |
| error | memverifikasi kuota dengan produk yang dikonfigurasi: GAGAL | console.error | Kemungkinan terjadi error/kegagalan |
| warn | gagal mengambil konfigurasi dari gateway. melanjutkan, akan mencoba salinan yang di-cache.. | console.error | |
| warn | KVM sudah ada di organisasi Anda | console.log | |
| warn | sudah di-deploy | console.log | |
| warn | plugin berurutan tidak ditemukan: | console.warn | |
| warn | pluginDir %s tidak ada | console.log | pluginDir (.*) tidak ada |
modul microgateway-core |
|||
| error | konfigurasi belum diinisialisasi | tegaskan | assert(config, 'config not initialized') |
| error | harus memiliki konfigurasi | tegaskan | assert(config, ' must have a config') |
| error | harus memiliki konfigurasi | tegaskan | assert(config, 'must have config') |
| error | config harus memiliki uid | tegaskan | assert(config.uid, 'config must have uid'); |
| error | harus memiliki config.edgemicro.logging dalam konfigurasi | tegaskan | assert(logConfig, 'must have config.edgemicro.logging in config'); |
| error | harus memiliki metode permintaan | tegaskan | assert(httpLibrary.request, 'must have request method'); |
| error | harus memuat plugin di memori | tegaskan | assert(options.plugin, "must have plugin loaded in memory"); |
| error | init harus berupa fungsi | tegaskan | assert(_.isFunction(options.plugin.init), 'init must be a function'); |
| error | harus memiliki nama plugin | tegaskan | assert(options.pluginName, "must have plugin name"); |
| error | mengabaikan nama + handler plugin yang tidak valid | tegaskan | assert(_.isObject(middleware), 'ignoring invalid plugin handlers ' + name); |
| error | opsi harus berisi konfigurasi | tegaskan | assert(config, 'options must contain config') |
| error | plugin harus memiliki nama | tegaskan | assert(name,"plugin harus memiliki nama") |
| error | name harus berupa string | tegaskan | assert(_.isString(name),"name must be a string"); |
| error | plugin harus berupa fungsi | tegaskan | assert(_.isFunction(plugin),"plugin must be a function(config,logger,stats){return {onresponse:function(req,res,data,next){}}}"); |
| error | harus memiliki kunci | tegaskan | assert(key, 'must have a key'); |
| error | harus memiliki secret | tegaskan | assert(secret, 'must have a secret'); |
| error | harus memiliki direktori konfigurasi sumber | tegaskan | assert(source, 'must have a source config directory'); |
| error | terjadi error saat memuat plugin | console.error | Plugin tidak dimuat |
| error | gagal di pengendali error | callback | Fungsi HTTP server.on() |
| error | panjang header lebih dari ukuran yang diizinkan | Error HTTP | Tidak menjalankan plugin |
| error | respons selesai sebelum tugas dapat dilakukan | logger.error | Plugin target tidak berjalan |
| error | handler menampilkan pengecualian | callback | Error pengambilan dari plugin (catch) |
| error | error saat memulai edge micro | callback | Edge Microgateway tidak dimulai |
| error | plugin harus berupa fungsi | lemparan | |
| warn | console.error | memperingatkan | Menulis log |
| warn | Error targetRequest | penanganan error target pemanggilan | Error klien HTTP dalam koneksi dengan target |
| warn | Error targetResponse | penanganan error target pemanggilan | Error server target HTTP dalam koneksi dengan target seperti yang terlihat di klien |
microgateway-config module |
|||
| error | allow_message | tegaskan | assert(+config.quota.allow > 0, allow_message); |
| error | konfigurasi tidak ada | lemparan | File yaml konfigurasi |
| error | config kosong | lemparan | File yaml konfigurasi |
| error | config bukan file | lemparan | File yaml konfigurasi |
| error | config tidak ditentukan | tegaskan | assert(config, 'config is not defined'); |
| error | config.analytics.batchSize tidak valid | tegaskan | assert(+config.analytics.batchSize > 0, 'config.analytics.batchSize is invalid'); |
| error | config.analytics.batchSize bukan angka | tegaskan | assert(typeof config.analytics.batchSize === 'number', 'config.analytics.batchSize is not a number'); |
| error | config.analytics.bufferSize tidak valid | tegaskan | assert(+config.analytics.bufferSize > 0, 'config.analytics.bufferSize is invalid'); |
| error | config.analytics.bufferSize bukan angka | tegaskan | assert(typeof config.analytics.bufferSize === 'number', 'config.analytics.bufferSize is not a number'); |
| error | config.analytics.flushInterval tidak valid | tegaskan | assert(+config.analytics.flushInterval > 0, 'config.analytics.flushInterval tidak valid'); |
| error | config.analytics.flushInterval bukan angka | tegaskan | assert(typeof config.analytics.flushInterval === 'number', 'config.analytics.flushInterval is not a number'); |
| error | config.analytics.proxy bukan "dummy" | tegaskan | assert(config.analytics.proxy === 'dummy', 'config.analytics.proxy is not "dummy"'); |
| error | config.analytics.proxy tidak ditentukan | tegaskan | assert(config.analytics.proxy, 'config.analytics.proxy is not defined'); |
| error | config.analytics.proxy_revision bukan angka | tegaskan | assert(typeof config.analytics.proxy_revision === 'number', 'config.analytics.proxy_revision is not a number'); |
| error | config.analytics.proxy_revision tidak ditentukan | tegaskan | assert(config.analytics.proxy_revision, 'config.analytics.proxy_revision is not defined'); |
| error | config.analytics.source bukan "microgateway" | tegaskan | assert(config.analytics.source === 'microgateway', 'config.analytics.source is not "microgateway"'); |
| error | config.analytics.source tidak ditentukan | tegaskan | assert(config.analytics.source, 'config.analytics.source is not defined'); |
| error | config.analytics.uri bukan string | tegaskan | assert(typeof config.analytics.uri === 'string', 'config.analytics.uri is not a string'); |
| error | config.analytics.uri tidak ditentukan | tegaskan | assert(config.analytics.uri, 'config.analytics.uri is not defined'); |
| error | config.apikeys.public_key tidak ditentukan | tegaskan | assert(typeof config.apikeys.public_key === 'string', 'config.apikeys.public_key is not defined'); |
| error | config.edge_config tidak ditentukan | tegaskan | assert(config.edge_config, 'config.edge_config is not defined'); |
| error | config.edge_config.bootstrap tidak ditentukan | tegaskan | assert(config.edge_config.bootstrap, 'config.edge_config.bootstrap is not defined'); |
| error | config.edge_config.jwt_public_key tidak ditentukan | tegaskan | assert(config.edge_config.jwt_public_key, 'config.edge_config.jwt_public_key is not defined'); |
| error | config.edge_config.proxy harus ditentukan jika config.edge_config.proxy_tunnel ditentukan | tegaskan | assert(typeof config.edge_config.proxy !== 'undefined', 'config.edge_config.proxy harus ditentukan jika config.edge_config.proxy_tunnel ditentukan'); |
| error | config.edge_config.proxy_tunnel bukan boolean | tegaskan | assert(typeof config.edge_config.proxy_tunnel === 'boolean', 'config.edge_config.proxy_tunnel is not a boolean'); |
| error | config.edge_config.refresh_interval bukan angka | tegaskan | assert(typeof config.edge_config.refresh_interval === 'number', 'config.edge_config.refresh_interval is not a number'); |
| error | config.edge_config.refresh_interval terlalu kecil (min 1 jam) | tegaskan | assert(config.edge_config.refresh_interval >= 3600000, 'config.edge_config.refresh_interval terlalu kecil (min 1 jam)'); |
| error | config.edge_config.retry_interval bukan angka | tegaskan | assert(typeof config.edge_config.retry_interval === 'number', 'config.edge_config.retry_interval is not a number'); |
| error | config.edge_config.retry_interval terlalu kecil (min 5 dtk) | tegaskan | assert(config.edge_config.retry_interval >= 5000, 'config.edge_config.retry_interval is too small (min 5s)'); |
| error | config.edgemicro tidak ditentukan | tegaskan | assert(config.edgemicro, 'config.edgemicro is not defined'); |
| error | config.edgemicro.logging tidak ditentukan | tegaskan | assert(config.edgemicro.logging, 'config.edgemicro.logging is not defined'); |
| error | config.edgemicro.logging.dir tidak ditentukan | tegaskan | if (!config.edgemicro.logging.to_console) assert(config.edgemicro.logging.dir, 'config.edgemicro.logging.dir is not defined'); |
| error | config.edgemicro.logging.level tidak ditentukan | tegaskan | assert(config.edgemicro.logging.level, 'config.edgemicro.logging.level is not defined'); |
| error | config.edgemicro.max_connections bukan angka | tegaskan | assert(typeof config.edgemicro.max_connections === 'number', 'config.edgemicro.max_connections is not a number'); |
| error | config.edgemicro.max_connections tidak ditentukan | tegaskan | assert(config.edgemicro.max_connections, 'config.edgemicro.max_connections is not defined'); |
| error | config.edgemicro.plugins.sequence bukan merupakan array | tegaskan | assert(Array.isArray(config.edgemicro.plugins.sequence), 'config.edgemicro.plugins.sequence is not an array'); |
| error | config.edgemicro.port tidak ditentukan | tegaskan | assert(config.edgemicro.port, 'config.edgemicro.port is not defined'); |
| error | config.oauth.allowInvalidAuthorization tidak ditentukan | tegaskan | assert(typeof config.oauth.allowInvalidAuthorization === 'boolean', 'config.oauth.allowInvalidAuthorization is not defined'); |
| error | config.oauth.allowNoAuthorization tidak ditentukan | tegaskan | assert(typeof config.oauth.allowNoAuthorization === 'boolean', 'config.oauth.allowNoAuthorization is not defined'); |
| error | config.oauth.public_key tidak ditentukan | tegaskan | assert(typeof config.oauth.public_key === 'string', 'config.oauth.public_key is not defined'); |
| error | config.oauthv2.public_key tidak ditentukan | tegaskan | assert(typeof config.oauthv2.public_key === 'string', 'config.oauthv2.public_key is not defined'); |
| error | config.proxies tidak ditentukan | tegaskan | assert(config.proxies, 'config.proxies is not defined'); |
| error | config.proxy[ + index + ].base_path tidak ditentukan | tegaskan | assert(proxy.base_path, 'config.proxy[' + index + '].base_path is not defined'); |
| error | config.proxy[ + index + ].max_connections bukan angka | tegaskan | assert(typeof proxy.max_connections === 'number', 'config.proxy[' + index + '].max_connections is not a number'); |
| error | config.proxy[ + index + ].max_connections tidak ditentukan | tegaskan | assert(proxy.max_connections, 'config.proxy[' + index + '].max_connections is not defined'); |
| error | config.proxy[ + index + ].name tidak ditentukan | tegaskan | assert(proxy.name, 'config.proxy[' + index + '].name is not defined'); |
| error | config.proxy[ + index + ].proxy_name tidak ditentukan | tegaskan | assert(proxy.target_name, 'config.proxy[' + index + '].proxy_name is not defined'); |
| error | config.proxy[ + index + ].revision tidak ditentukan | tegaskan | assert(proxy.revision, 'config.proxy[' + index + '].revision is not defined'); |
| error | config.proxy[ + index + ].url tidak ditentukan | tegaskan | assert(proxy.url, 'config.proxy[' + index + '].url is not defined'); |
| error | config.quota.allow bukan angka | tegaskan | assert(typeof config.quota.allow === 'number', 'config.quota.allow is not a number'); |
| error | config.quota.allow tidak ditentukan | tegaskan | assert(config.quota.allow, 'config.quota.allow is not defined'); |
| error | config.quota.interval bukan angka | tegaskan | assert(typeof config.quota.interval === 'number', 'config.quota.interval is not a number'); |
| error | config.quota.interval tidak ditentukan | tegaskan | assert(config.quota.interval, 'config.quota.interval is not defined'); |
| error | config.spikearrest tidak ditentukan | tegaskan | assert(config.spikearrest, 'config.spikearrest is not defined'); |
| error | config.spikearrest.allow tidak valid | tegaskan | assert(+config.spikearrest.allow > 0, 'config.spikearrest.allow is invalid'); |
| error | config.spikearrest.allow bukan angka | tegaskan | assert(typeof config.spikearrest.allow === 'number', 'config.spikearrest.allow is not a number'); |
| error | config.spikearrest.allow tidak ditentukan | tegaskan | assert(config.spikearrest.allow, 'config.spikearrest.allow is not defined'); |
| error | config.spikearrest.bufferSize tidak valid | tegaskan | assert(+config.spikearrest.bufferSize > 0, 'config.spikearrest.bufferSize is invalid'); |
| error | config.spikearrest.bufferSize bukan angka | tegaskan | assert(typeof config.spikearrest.bufferSize === 'number', 'config.spikearrest.bufferSize is not a number'); |
| error | config.spikearrest.timeUnit tidak ditentukan | tegaskan | assert(config.spikearrest.timeUnit, 'config.spikearrest.timeUnit is not defined'); |
| error | ERROR KRITIS: error saat mengurai daftar produk yang didownload | callback | |
| error | ERROR KRITIS: error saat mengurai daftar proxy yang didownload | callback | |
| error | ERROR KONFIGURASI PRODUK TERDETEKSI | console.error | Diikuti dengan console.warn('using old cached configuration'); |
| error | error saat membaca konfigurasi dari | lemparan | File yaml konfigurasi |
| error | error saat menyimpan konfigurasi ke | callback | File yaml konfigurasi |
| error | fatal: cached config not available, unable to continue | callback | |
| error | interval_message | tegaskan | assert(+config.quota.interval > 0, interval_message); |
| error | protokol tidak valid untuk config.edge_config.proxy (diharapkan http: atau https:: + proxy_url.protocol) | tegaskan | assert(proxy_url.protocol === 'http:' || proxy_url.protocol === 'https:', 'invalid protocol for config.edge_config.proxy (expected http: or https:): ' + proxy_url.protocol); |
| error | host proxy tidak valid untuk config.edge_config.proxy | tegaskan | assert(proxy_url.hostname, 'invalid proxy host for config.edge_config.proxy: ' + proxy_url.hostname); |
| error | Sepertinya Edge Micro belum dikonfigurasi, lihat panduan admin | callback | Hasil: Gagal memuat konfigurasi |
| error | kunci tidak ada | tegaskan | assert(keys.key, 'key is missing'); |
| error | harus memiliki configDir | tegaskan | assert(configDir, 'must have configDir') |
| error | harus memiliki opsi | tegaskan | assert(options, 'must have options'); |
| error | harus memiliki sumber | tegaskan | assert(source, 'must have source') |
| error | harus memiliki sumber untuk dimuat | tegaskan | assert(options.source, 'must have source to load from') |
| error | harus memiliki targetFile | tegaskan | assert(fileName, 'must have targetFile') |
| error | Opsi tidak boleh null | tegaskan | assert(options, 'options cannot be null'); |
| error | options.keys tidak boleh null | tegaskan | assert(options.keys, 'options.keys cannot be null'); |
| error | port_message | tegaskan | assert(+config.edgemicro.port < 65536, port_message); |
| error | products harus berupa array | tegaskan | assert(Array.isArray(products), 'products should be an array'); |
| error | 'proxies for product ' + product + ' should be an array' | tegaskan | assert(Array.isArray(product.proxies), 'proxies for product ' + product + ' should be an array'); |
| error | secret tidak ada | tegaskan | assert(keys.secret, 'secret is missing'); |
| error | target tidak ditetapkan | tegaskan | assert(target, 'target is not set'); |
| warn | error saat mendownload konfigurasi, periksa konfigurasi bootstrap | console.warn | |
| warn | gagal mendownload jwt_public_key | console.warn | |
| warn | Kunci jwk tidak diaktifkan | console.warn | |
| warn | message, 'download from', url, 'returned' | console.warn | Telusuri: (.*)\sdownload from\s(.*)\sreturned |
| warn | Tidak ada produk mikro tepi yang ditemukan dalam respons | console.warn | |
| warn | tidak ada proxy mikro edge yang ditemukan di organisasi | console.warn | |
| warn | tidak ada proxy mikro edge yang ditemukan dalam respons | console.warn | |
| warn | tidak ada produk yang ditemukan di organisasi | console.warn | |
| warn | tidak ada produk yang ditemukan dalam respons | console.warn | |
| warn | menggunakan konfigurasi yang di-cache lama | console.warn | |
modul microgateway-plugins |
|||
| error | konfigurasi tidak ada | lemparan | Berkaitan dengan file yaml |
| error | apikey | Respons HTTP | Kegagalan di plugin apiky |
| error | bauth | Respons HTTP | Kegagalan di plugin bauth |
| error | extauth | Respons HTTP | Kegagalan di plugin extauth |
| error | Oauth | Respons HTTP | Kegagalan di plugin oauth |
| warn | Terjadi error saat memproses analisis Apigee. Mengizinkan pemrosesan permintaan untuk dilanjutkan | logger.error | |
| warn | mengabaikan err | console.warn | Plugin apikeys, oauth, dan oauthv2 |
| warn | error saat mengurai JWT: | console.warn | |
| warn | Objek respons OAuth tidak memiliki setHeader | console.warn | Error parameter oauth menunjukkan bahwa beberapa error tidak akan dilaporkan. |
| warn | Objek respons OAuth tidak disediakan oleh runtime | console.warn | error parameter oauth |
| warn | Objek statistik OAuth tidak disediakan oleh runtime | console.warn | error parameter oauth |
Modul apigeetool-node |
|||
| error | Penghapusan Cache gagal dengan kode status %d', res.statusCode | callback | Dikeluarkan di deletecache.js. Kode status dari Apigee Edge. Meneruskan error stack trace ke callback dengan pesan ini: done(new Error(errMsg)); |
| error | Penghapusan Produk gagal dengan kode status %d', res.statusCode | callback | Dilempar di deleteproduct.js. Kode status dari Apigee Edge. Meneruskan error stack trace ke callback dengan pesan ini: done(new Error(errMsg)); |
| error | org, api, dan revisi harus ditentukan. | callback | Dikeluarkan di fetchproxy.js. Kesalahan konfigurasi. |
| error | Menerima error %d saat mengambil proxy: %j | callback | Dikeluarkan di fetchproxy.js. Kode status selain 200. |
| error | Pembuatan Aplikasi gagal dengan kode status %d | callback | Dilempar di createapp.js. Meneruskan semua error kembali ke callback sebagai error stack trace. Tidak membuat cetakan konsol atau entri log. |
| error | command + ' gagal dengan kode status %d | callback | Dilempar di command-utils.js. Untuk perintah apa pun yang diuraikan dan diteruskan ke modul ini, kode apa pun yang bukan 200 atau 201 akan menghasilkan pesan error. Memformat pesan ini, tetapi tidak mencetak. Meneruskan error stack trace dengan pesan kembali ke callback. |
| error | Menerima error %d saat mengambil alur bersama: %s | callback | Dilempar di fetchsharedflow.js. Untuk status HTTP apa pun yang bukan 200. Jika berhasil tetapi gagal
menulis file, maka akan ditulis ke konsol: Failed to write file Error text: [stack_trace_error] |
| error | Create KeySecret gagal dengan kode status %d', res.statusCode | callback | Dilempar di createappkey.js. Untuk kode status HTTP dari Apigee Edge yang bukan 200 atau 201. |
| error | Create Cache gagal dengan kode status %d', res.statusCode | callback | Dikeluarkan di createcache.js. Untuk kode status HTTP dari Apigee Edge yang bukan 200 atau 201. |
| error | Create Product gagal dengan kode status %d', res.statusCode | callback | Dilempar di createproduct.js. Untuk kode status HTTP dari Apigee Edge yang bukan 201. Jika status HTTP adalah 201, tetapi respons menyertakan JSON error, JSON error akan diteruskan ke panggilan balik. |
| error | Penghapusan Aplikasi gagal dengan kode status %d', res.statusCode | callback | Dilempar di deleteapp.js. Untuk kode status HTTP dari Apigee Edge yang bukan 200. Jika status HTTP adalah 200, tetapi respons menyertakan JSON error, JSON error akan diteruskan ke callback. |
| error | Pembuatan Developer gagal dengan kode status %d', res.statusCode | callback | Dilempar di createdeveloper.js. Untuk kode status HTTP dari Apigee Edge yang bukan 201. Jika status HTTP adalah 201, tetapi respons menyertakan JSON error, JSON error akan diteruskan ke panggilan balik. |
| error | Penghapusan Developer gagal dengan kode status %d', res.statusCode | callback | Dilempar di deletedeveloper.js. Untuk kode status HTTP dari Apigee Edge yang bukan 200. Jika status HTTP adalah 200, tetapi respons menyertakan JSON error, JSON error akan diteruskan ke callback. |
Error plug-in
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.