Estás viendo la documentación de Apigee Edge.
Ve a la
documentación de Apigee X. info
En este tema, se describen los errores y las advertencias que puedes encontrar con Edge Microgateway.
Errores generales de la aplicación
HTTP 500, error en el controlador de errores: La mayoría de los errores tendrán este número, al igual que algunos errores que se muestran desde los destinos. En particular, errors-middleware.js se usa en todo el módulo microgateway-core. Cuando se usa, escribe los códigos de estado en el registro con la
logger object: logger.error(err, 'failed in error handler');
de Edge Microgateway. Para los códigos recibidos de destinos entre 100 y 300, errors-middleware.js vuelve a escribir el statusCode como 500 para devolverlo al cliente.HTTP 404: Es posible que veas este estado como un seguimiento de pila con el mensaje
no match found for [API_path_name]
.
Errores y advertencias del módulo
Puedes usar esta información para configurar alertas que te ayuden a supervisar y administrar tu implementación de la micropuerta de enlace de Edge.
Los siguientes términos, que aparecen en la referencia de errores en "Controlador", indican cómo se controlan los diversos errores en la Microgateway de Edge.
- assert: Por lo general, Edge Microgateway se detendrá cuando falle una evaluación de aserción. Sin embargo, es posible que esto no siempre sea así, ya que las "verificaciones" arrojan excepciones que se pueden capturar.
- throws: Posible detención del sistema.
- devolución de llamada: El error se pasa a una devolución de llamada y el sistema puede continuar.
Tipo | Mensaje | Handler | Notas |
---|---|---|---|
módulo de la puerta de enlace |
|||
error | org es obligatorio | declarar | assert(options.org,"org is required"); |
error | env es obligatorio | declarar | assert(options.env,"env is required") |
error | El nombre de usuario es obligatorio | declarar | assert(options.username || options.token,"username is required"); |
error | La contraseña es obligatoria | declarar | assert(options.password || options.token,"password is required") |
error | org es obligatorio | declarar | assert(options.org,"org is required"); |
error | env es obligatorio | declarar | assert(options.env,"env is required") |
error | El nombre de usuario es obligatorio | declarar | assert(options.username || options.token,"username is required"); |
error | La contraseña es obligatoria | declarar | assert(options.password || options.token,"password is required") |
error | org es obligatorio | declarar | assert(options.org,"org is required"); |
error | env es obligatorio | declarar | assert(options.env,"env is required") |
error | org es obligatorio | declarar | assert(options.org,"org is required"); |
error | env es obligatorio | declarar | assert(options.env,"env is required") |
error | El nombre de usuario es obligatorio | declarar | assert(options.username, 'username is required'); |
error | La contraseña es obligatoria | declarar | assert(options.password, 'password is required'); |
error | org es obligatorio | declarar | assert(options.org, 'org is required'); |
error | env es obligatorio | declarar | assert(options.env, 'env is required'); |
error | Debe tener un archivo de destino asignado. | declarar | assert(targetFile, 'must have an assigned target file') |
error | debe tener una clave | declarar | assert(clave, "Debe tener una clave"); |
error | debe tener un secreto | declarar | assert(secret, 'must have a secret'); |
error | Se debe configurar dir | declarar | assert(dir, 'dir must be configured') |
error | La devolución de llamada debe estar presente. | declarar | assert(callback, 'callback must be present') |
error | El nombre de usuario es obligatorio | declarar | assert(options.username, 'username is required'); |
error | La contraseña es obligatoria | declarar | assert(options.password, 'password is required'); |
error | org es obligatorio | declarar | assert(options.org, 'org is required'); |
error | env es obligatorio | declarar | assert(options.env, 'env is required'); |
error | runtimeUrl es obligatorio | declarar | assert(options.runtimeUrl, 'runtimeUrl is required'); |
error | mgmtUrl es obligatorio | declarar | assert(options.mgmtUrl, 'mgmtUrl is required'); |
error | Es obligatorio el archivo | declarar | assert(options.file,"file is required") |
error | debe tener un objetivo | declarar | assert(options.target, 'must have target'); |
error | No se configuraron los complementos | declarar | assert(config.edgemicro.plugins, 'plugins not configured'); |
error | El directorio del complemento no existe: + pluginDir | declarar | assert(fs.existsSync(pluginDir), 'plugin dir does not exist: ' + pluginDir); |
error | El directorio del complemento no es un directorio: + pluginDir | declarar | assert(stat.isDirectory(), 'plugin dir is not a directory: ' + pluginDir); |
error | error reading plugin dir: + pluginDir | declarar | assert(dirs, 'error reading plugin dir: ' + pluginDir); |
error | debe tener un token | declarar | assert(token, 'must have a token'); |
error | configpath no puede estar vacío | declarar | assert(config, 'configpath can't be empty'); |
error | Debe tener EDGEMICRO_KEY | declarar | assert(clave, 'must have EDGEMICRO_KEY'); |
error | Debe tener EDGEMICRO_SECRET. | declarar | assert(secret, 'must have EDGEMICRO_SECRET'); |
error | config no existe | lanza | relacionados con el archivo yaml |
error | Parece que edgemicro ya está en ejecución. | console.error | Intenta reemplazar un archivo .sock. |
error | No se pudo verificar el cambio en la configuración. Se reintentará después de | console.error | problema con la comunicación de los bordes |
error | Si el servidor no se está ejecutando, es posible que se deba a un cierre incorrecto del inicio anterior. | console.error | |
error | Falta %s. Ejecuta | console.error | Falta (.*). Ejecuta |
error | No se pudo volver a cargar edgemicro. | console.error | nivel de comando |
error | No se pudo detener edgemicro. | console.error | Nivel de comando |
error | "Intenta quitar ' + ipcPath + ' y comienza de nuevo" | console.error | |
error | "cache configuration ' + cache + ' does not exist. exiting.' | console.error | |
error | No se pudo escribir el archivo de configuración: | console.error | La configuración fallará. |
error | No se descargó el archivo de configuración: | console.error | La configuración fallará. |
error | No se pudo iniciar el micro de borde | console.error | No debería estar en ejecución. |
error | edgemicro no se está ejecutando. | console.error | Verifica el proceso que no debería aparecer en la lista |
error | env es obligatorio | console.error | Variables de entorno necesarias para la ejecución |
error | error: edición de Callout.xml de apiproxy | console.error | Acceso a archivos |
error | error: edición de apiproxy default.xml | console.error | Acceso a archivos |
error | error de verificación de la certificación Se está instalando un certificado nuevo. | console.error | No se puede usar la clave pública |
error | error retrieving region for org | console.error | key-gen.js, cert-lib.js y private.js |
error | error al subir credenciales | console.error | No se puede sincronizar la clave pública con Edge |
error | con errores | console.error | key-gen.js |
error | No se pudo inicializar el archivo configpath %s. | console.error | No se carga la configuración |
error | respuesta no válida de la API de la región | console.error | key-gen.js, cert-lib.js y private.js |
error | la clave es obligatoria | console.error | Parámetro |
error | org es obligatorio | console.error | Parámetro |
error | no está disponible. | console.error | Parámetro |
error | El secreto es obligatorio | console.error | Parámetro |
error | No se admite el protocolo de URL: | console.error | La información de configuración indica un protocolo de Internet que no está dentro del alcance de Edge Microgateway. |
error | verificación del caso negativo de Analytics: ERROR | console.error | Posible falla o bloqueo |
error | verifying analytics with payload: FAIL | console.error | Posible falla o bloqueo |
error | verifying bootstrap url availability:FAIL | console.error | Posible falla o bloqueo |
error | verifying jwt_public_key availability: FAIL | console.error | Posible falla o bloqueo |
error | verifying products availability: FAIL | console.error | Posible falla o bloqueo |
error | verificación de la cuota con productos configurados: error | console.error | Posible falla o bloqueo |
advertencia | No se pudo recuperar la configuración de la puerta de enlace. Se continuará y se intentará la copia almacenada en caché. | console.error | |
advertencia | KVM ya existe en tu organización | console.log | |
advertencia | ya se implementó | console.log | |
advertencia | No se encontró el complemento secuenciado: | console.warn | |
advertencia | El directorio de complementos %s no existe. | console.log | pluginDir (.*) no existe |
Microgateway-core |
|||
error | No se inicializó la configuración | declarar | assert(config, 'config not initialized') |
error | Debe tener una configuración | declarar | assert(config, ' must have a config') |
error | debe tener configuración | declarar | assert(config, 'must have config') |
error | La configuración debe tener un UID | declarar | assert(config.uid, 'config must have uid'); |
error | Debe tener config.edgemicro.logging en la configuración. | declarar | assert(logConfig, 'must have config.edgemicro.logging in config'); |
error | debe tener un método de solicitud | declarar | assert(httpLibrary.request, 'must have request method'); |
error | Debe tener el complemento cargado en la memoria. | declarar | assert(options.plugin, "must have plugin loaded in memory"); |
error | init debe ser una función | declarar | assert(_.isFunction(options.plugin.init), 'init must be a function'); |
error | Debe tener un nombre de complemento | declarar | assert(options.pluginName, "must have plugin name"); |
error | Se ignoran los controladores y nombres de complementos no válidos. | declarar | assert(_.isObject(middleware), 'ignoring invalid plugin handlers ' + name); |
error | Las opciones deben contener configuración. | declarar | assert(config, 'options must contain config') |
error | El complemento debe tener un nombre | declarar | assert(name,"plugin must have a name") |
error | name must be a string | declarar | assert(_.isString(name),"name must be a string"); |
error | El complemento debe ser una función. | declarar | assert(_.isFunction(plugin),"plugin must be a function(config,logger,stats){return {onresponse:function(req,res,data,next){}}}"); |
error | debe tener una clave | declarar | assert(clave, "Debe tener una clave"); |
error | debe tener un secreto | declarar | assert(secret, 'must have a secret'); |
error | Debe tener un directorio de configuración de origen. | declarar | assert(source, 'must have a source config directory'); |
error | error al cargar el complemento | console.error | No se cargó el complemento |
error | falló en el controlador de errores | callback | Función server.on() del servidor HTTP |
error | La longitud del encabezado supera el tamaño permitido. | Error de HTTP | No ejecuta el complemento |
error | La respuesta finalizó antes de que se pudiera realizar el trabajo. | logger.error | El complemento de destino no se ejecuta |
error | El controlador generó una excepción. | callback | Captura el error del complemento (captura) |
error | error al iniciar el micro de Edge | callback | Edge Microgateway no se inicia |
error | El complemento debe ser una función. | lanza | |
advertencia | console.error | advierte | Escritura de registros |
advertencia | Error de targetRequest | Invoca el manejo de errores del destino | Error de cliente HTTP en la conexión con el destino |
advertencia | Error de targetResponse | Invoca el manejo de errores del destino | Error del servidor de destino HTTP en la conexión con el destino, como se ve en el cliente |
El módulo microgateway-config |
|||
error | allow_message | declarar | assert(+config.quota.allow > 0, allow_message); |
error | config no existe | arroja | Archivo de configuración yaml |
error | La configuración está vacía | arroja | Archivo de configuración yaml |
error | config no es un archivo | arroja | Archivo de configuración yaml |
error | config no está definido | declarar | assert(config, 'config is not defined'); |
error | config.analytics.batchSize no es válido | declarar | assert(+config.analytics.batchSize > 0, 'config.analytics.batchSize is invalid'); |
error | config.analytics.batchSize no es un número | declarar | assert(typeof config.analytics.batchSize === 'number', 'config.analytics.batchSize is not a number'); |
error | config.analytics.bufferSize no es válido | declarar | assert(+config.analytics.bufferSize > 0, 'config.analytics.bufferSize is invalid'); |
error | config.analytics.bufferSize no es un número | declarar | assert(typeof config.analytics.bufferSize === 'number', 'config.analytics.bufferSize is not a number'); |
error | config.analytics.flushInterval no es válido | declarar | assert(+config.analytics.flushInterval > 0, 'config.analytics.flushInterval is invalid'); |
error | config.analytics.flushInterval no es un número | declarar | assert(typeof config.analytics.flushInterval === 'number', 'config.analytics.flushInterval is not a number'); |
error | config.analytics.proxy no es "dummy" | declarar | assert(config.analytics.proxy === 'dummy', 'config.analytics.proxy is not "dummy"'); |
error | No se definió config.analytics.proxy | declarar | assert(config.analytics.proxy, 'config.analytics.proxy is not defined'); |
error | config.analytics.proxy_revision no es un número | declarar | assert(typeof config.analytics.proxy_revision === 'number', 'config.analytics.proxy_revision is not a number'); |
error | No se definió config.analytics.proxy_revision. | declarar | assert(config.analytics.proxy_revision, 'config.analytics.proxy_revision is not defined'); |
error | config.analytics.source no es "microgateway" | declarar | assert(config.analytics.source === 'microgateway', 'config.analytics.source is not "microgateway"'); |
error | No se definió config.analytics.source | declarar | assert(config.analytics.source, 'config.analytics.source is not defined'); |
error | config.analytics.uri no es una cadena | declarar | assert(typeof config.analytics.uri === 'string', 'config.analytics.uri is not a string'); |
error | No se definió config.analytics.uri | declarar | assert(config.analytics.uri, 'config.analytics.uri is not defined'); |
error | No se definió config.apikeys.public_key. | declarar | assert(typeof config.apikeys.public_key === 'string', 'config.apikeys.public_key is not defined'); |
error | No se definió config.edge_config. | declarar | assert(config.edge_config, 'config.edge_config is not defined'); |
error | No se definió config.edge_config.bootstrap | declarar | assert(config.edge_config.bootstrap, 'config.edge_config.bootstrap is not defined'); |
error | No se definió config.edge_config.jwt_public_key. | declarar | assert(config.edge_config.jwt_public_key, 'config.edge_config.jwt_public_key is not defined'); |
error | Se debe definir config.edge_config.proxy si se define config.edge_config.proxy_tunnel. | declarar | assert(typeof config.edge_config.proxy !== 'undefined', 'config.edge_config.proxy must be defined if config.edge_config.proxy_tunnel is defined'); |
error | config.edge_config.proxy_tunnel no es un valor booleano. | declarar | assert(typeof config.edge_config.proxy_tunnel === 'boolean', 'config.edge_config.proxy_tunnel is not a boolean'); |
error | config.edge_config.refresh_interval no es un número | declarar | assert(typeof config.edge_config.refresh_interval === 'number', 'config.edge_config.refresh_interval is not a number'); |
error | config.edge_config.refresh_interval es demasiado pequeño (mín. 1 h) | declarar | assert(config.edge_config.refresh_interval >= 3600000, 'config.edge_config.refresh_interval is too small (min 1h)'); |
error | config.edge_config.retry_interval no es un número | declarar | assert(typeof config.edge_config.retry_interval === 'number', 'config.edge_config.retry_interval is not a number'); |
error | config.edge_config.retry_interval es demasiado pequeño (mín. 5 s). | declarar | assert(config.edge_config.retry_interval >= 5000, 'config.edge_config.retry_interval is too small (min 5s)'); |
error | config.edgemicro no está definido | declarar | assert(config.edgemicro, 'config.edgemicro is not defined'); |
error | No se definió config.edgemicro.logging. | declarar | assert(config.edgemicro.logging, 'config.edgemicro.logging is not defined'); |
error | No se definió config.edgemicro.logging.dir. | declarar | if (!config.edgemicro.logging.to_console) assert(config.edgemicro.logging.dir, 'config.edgemicro.logging.dir is not defined'); |
error | No se definió config.edgemicro.logging.level. | declarar | assert(config.edgemicro.logging.level, 'config.edgemicro.logging.level is not defined'); |
error | config.edgemicro.max_connections no es un número | declarar | assert(typeof config.edgemicro.max_connections === 'number', 'config.edgemicro.max_connections is not a number'); |
error | No se definió config.edgemicro.max_connections. | declarar | assert(config.edgemicro.max_connections, 'config.edgemicro.max_connections is not defined'); |
error | config.edgemicro.plugins.sequence no es un array. | declarar | assert(Array.isArray(config.edgemicro.plugins.sequence), 'config.edgemicro.plugins.sequence is not an array'); |
error | No se definió config.edgemicro.port | declarar | assert(config.edgemicro.port, 'config.edgemicro.port is not defined'); |
error | No se definió config.oauth.allowInvalidAuthorization | declarar | assert(typeof config.oauth.allowInvalidAuthorization === 'boolean', 'config.oauth.allowInvalidAuthorization is not defined'); |
error | No se definió config.oauth.allowNoAuthorization | declarar | assert(typeof config.oauth.allowNoAuthorization === 'boolean', 'config.oauth.allowNoAuthorization is not defined'); |
error | No se definió config.oauth.public_key | declarar | assert(typeof config.oauth.public_key === 'string', 'config.oauth.public_key is not defined'); |
error | No se definió config.oauthv2.public_key | declarar | assert(typeof config.oauthv2.public_key === 'string', 'config.oauthv2.public_key is not defined'); |
error | No se definió config.proxies | declarar | assert(config.proxies, 'config.proxies is not defined'); |
error | No se definió config.proxy[ + index + ].base_path. | declarar | assert(proxy.base_path, 'config.proxy[' + index + '].base_path is not defined'); |
error | config.proxy[ + index + ].max_connections no es un número | declarar | assert(typeof proxy.max_connections === 'number', 'config.proxy[' + index + '].max_connections is not a number'); |
error | No se definió config.proxy[ + index + ].max_connections | declarar | assert(proxy.max_connections, 'config.proxy[' + index + '].max_connections is not defined'); |
error | No se definió config.proxy[ + index + ].name. | declarar | assert(proxy.name, 'config.proxy[' + index + '].name is not defined'); |
error | No se definió config.proxy[ + index + ].proxy_name. | declarar | assert(proxy.target_name, 'config.proxy[' + index + '].proxy_name is not defined'); |
error | No se definió config.proxy[ + index + ].revision | declarar | assert(proxy.revision, 'config.proxy[' + index + '].revision is not defined'); |
error | No se definió config.proxy[ + index + ].url | declarar | assert(proxy.url, 'config.proxy[' + index + '].url is not defined'); |
error | config.quota.allow no es un número | declarar | assert(typeof config.quota.allow === 'number', 'config.quota.allow is not a number'); |
error | No se definió config.quota.allow | declarar | assert(config.quota.allow, 'config.quota.allow is not defined'); |
error | config.quota.interval no es un número | declarar | assert(typeof config.quota.interval === 'number', 'config.quota.interval is not a number'); |
error | config.quota.interval no está definido | declarar | assert(config.quota.interval, 'config.quota.interval is not defined'); |
error | No se definió config.spikearrest | declarar | assert(config.spikearrest, 'config.spikearrest is not defined'); |
error | config.spikearrest.allow no es válido | declarar | assert(+config.spikearrest.allow > 0, 'config.spikearrest.allow is invalid'); |
error | config.spikearrest.allow no es un número | declarar | assert(typeof config.spikearrest.allow === 'number', 'config.spikearrest.allow is not a number'); |
error | No se definió config.spikearrest.allow | declarar | assert(config.spikearrest.allow, 'config.spikearrest.allow is not defined'); |
error | config.spikearrest.bufferSize no es válido | declarar | assert(+config.spikearrest.bufferSize > 0, 'config.spikearrest.bufferSize is invalid'); |
error | config.spikearrest.bufferSize no es un número | declarar | assert(typeof config.spikearrest.bufferSize === 'number', 'config.spikearrest.bufferSize is not a number'); |
error | No se definió config.spikearrest.timeUnit. | declarar | assert(config.spikearrest.timeUnit, 'config.spikearrest.timeUnit is not defined'); |
error | ERROR CRÍTICO: No se pudo analizar la lista de productos descargados. | callback | |
error | ERROR CRÍTICO: Error de análisis de la lista de proxy descargada | callback | |
error | SE DETECTÓ UN ERROR DE CONFIGURACIÓN INCORRECTA DEL PRODUCTO | console.error | Seguido de console.warn('using old cached configuration'); |
error | error de lectura de configuración de | lanza | Archivo de configuración yaml |
error | error al guardar la configuración en | callback | Archivo de configuración yaml |
error | fatal: cached config not available, unable to continue | callback | |
error | interval_message | declarar | assert(+config.quota.interval > 0, interval_message); |
error | Protocolo no válido para config.edge_config.proxy (se esperaba http: o https:: + proxy_url.protocol) | declarar | 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 de proxy no válido para config.edge_config.proxy | declarar | assert(proxy_url.hostname, 'invalid proxy host for config.edge_config.proxy: ' + proxy_url.hostname); |
error | Parece que no se configuró el microborde. Consulta la guía para administradores. | callback | Resultado: No se puede cargar la configuración |
error | falta la clave | declarar | assert(keys.key, 'key is missing'); |
error | Debe tener configDir | declarar | assert(configDir, 'must have configDir') |
error | opciones obligatorias | declarar | assert(options, 'must have options'); |
error | debe tener una fuente | declarar | assert(source, 'must have source') |
error | debe tener una fuente desde la que cargar | declarar | assert(options.source, 'must have source to load from') |
error | Debe tener targetFile | declarar | assert(fileName, 'must have targetFile') |
error | Las opciones no pueden ser nulas. | declarar | assert(options, 'options cannot be null'); |
error | options.keys no puede ser nulo | declarar | assert(options.keys, 'options.keys cannot be null'); |
error | port_message | declarar | assert(+config.edgemicro.port < 65536, port_message); |
error | products debe ser un array | declarar | assert(Array.isArray(products), 'products should be an array'); |
error | "proxies for product ' + product + ' should be an array" | declarar | assert(Array.isArray(product.proxies), 'proxies for product ' + product + ' should be an array'); |
error | falta el secreto | declarar | assert(keys.secret, 'secret is missing'); |
error | El objetivo no está establecido | declarar | assert(target, 'target is not set'); |
advertencia | error downloading config, please check bootstrap configuration | console.warn | |
advertencia | No se pudo descargar jwt_public_key | console.warn | |
advertencia | Las claves JWK no están habilitadas | console.warn | |
advertencia | message, 'download from', url, 'returned' | console.warn | Buscar: (.*)\sdownload from\s(.*)\sreturned |
advertencia | No se encontraron microproductos de Edge en la respuesta | console.warn | |
advertencia | No se encontraron proxies de microbordes en la organización | console.warn | |
advertencia | No se encontraron microproxies perimetrales en la respuesta | console.warn | |
advertencia | No se encontraron productos en la organización | console.warn | |
advertencia | no products found in response | console.warn | |
advertencia | Usa la configuración almacenada en caché anterior | console.warn | |
Módulo microgateway-plugins |
|||
error | config no existe | arroja | Relacionado con el archivo yaml |
error | apikey | Respuesta HTTP | Fallas en el complemento apiky |
error | bauth | Respuesta HTTP | Errores en el complemento bauth |
error | extauth | Respuesta HTTP | Fallas en el complemento extauth |
error | OAuth | Respuesta HTTP | Fallas en el complemento de OAuth |
advertencia | Se produjo un error al procesar las estadísticas de Apigee. Permite que continúe el procesamiento de solicitudes | logger.error | |
advertencia | ignorando el error | console.warn | Los complementos apikeys, oauth y oauthv2 |
advertencia | error parsing jwt: | console.warn | |
advertencia | El objeto de respuesta de Oath no tiene setHeader. | console.warn | El error de parámetro de OAuth indica que no se informará ningún error. |
advertencia | El entorno de ejecución no proporciona el objeto de respuesta de Oath. | console.warn | Error de parámetro de OAuth |
advertencia | El entorno de ejecución no proporciona el objeto de estadísticas de Oath. | console.warn | Error de parámetro de OAuth |
Módulo apigeetool-node |
|||
error | Delete Cache failed with status code %d', res.statusCode | callback | Se genera en deletecache.js. Código de estado de Apigee Edge. Pasa a la devolución de llamada un error de seguimiento de pila con este mensaje: done(new Error(errMsg)); |
error | Delete Product failed with status code %d', res.statusCode | callback | Se genera en deleteproduct.js. Código de estado de Apigee Edge. Pasa a la devolución de llamada un error de seguimiento de pila con este mensaje: done(new Error(errMsg)); |
error | Se deben especificar org, api y revision. | callback | Se genera en fetchproxy.js. Error de configuración. |
error | Se recibió el error %d cuando se recuperaba el proxy: %j | callback | Se genera en fetchproxy.js. Código de estado distinto de 200. |
error | No se pudo crear la app con el código de estado %d | callback | Se arroja en createapp.js. Pasa todos los errores a las devoluciones de llamada como errores de seguimiento de pila. No realiza impresiones en la consola ni entradas de registro. |
error | command + ' falló con el código de estado %d | callback | Se genera en command-utils.js. Para cualquier comando que se analice y pase a este módulo, cualquier código que no sea 200 o 201 generará un mensaje de error. Aplica formato a este mensaje, pero no lo imprime. Pasa un error de seguimiento de pila con el mensaje a las devoluciones de llamada. |
error | Se recibió el error %d cuando se recuperaba el flujo compartido: %s | callback | Se arroja en fetchsharedflow.js. Para cualquier estado HTTP que no sea 200. Si se realiza correctamente, pero no puede escribir un archivo, se escribirá en la consola lo siguiente: No se pudo escribir el archivo Texto de error: [stack_trace_error] |
error | Create KeySecret failed with status code %d', res.statusCode | callback | Se genera en createappkey.js. Para los códigos de estado HTTP de Apigee Edge que no sean 200 ni 201. |
error | Create Cache failed with status code %d', res.statusCode | callback | Se genera en createcache.js. Para los códigos de estado HTTP de Apigee Edge que no sean 200 o 201. |
error | Create Product failed with status code %d', res.statusCode | callback | Se genera en createproduct.js. Para los códigos de estado HTTP de Apigee Edge que no sean 201. Si el estado HTTP es 201, pero la respuesta incluye un JSON de error, este se reenvía a la devolución de llamada. |
error | Delete App failed with status code %d', res.statusCode | callback | Se arroja en deleteapp.js. Para los códigos de estado HTTP de Apigee Edge que no sean 200. Si el estado HTTP es 200, pero la respuesta incluye un JSON de error, este se reenvía a la devolución de llamada. |
error | Create Developer failed with status code %d', res.statusCode | callback | Se genera en createdeveloper.js. Para los códigos de estado HTTP de Apigee Edge que no sean 201. Si el estado HTTP es 201, pero la respuesta incluye un JSON de error, este se reenvía a la devolución de llamada. |
error | Delete Developer failed with status code %d', res.statusCode | callback | Se genera en deletedeveloper.js. Para los códigos de estado HTTP de Apigee Edge que no sean 200. Si el estado HTTP es 200, pero la respuesta incluye un JSON de error, este se reenvía a la devolución de llamada. |
Errores de complementos
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.