Estás consultando la documentación de Apigee Edge.
Consulta la
documentación de Apigee X. Información
En este tema, se describen los errores y las advertencias que puedes encontrar con Edge Microgateway.
Errores generales de 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 muestran los destinos. En particular, errors-middleware.js se usa en todo el módulo microgateway-core. Cuando se usa, escribe statusCodes en el registro mediante Edge Microgateway
logger object: logger.error(err, 'failed in error handler');
. Para los códigos recibidos de objetivos entre 100 y 300, errors-middleware.js reescribe el statusCode en 500 para devolverlo al cliente.HTTP 404: Es posible que veas este estado generado 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 la implementación de Edge Microgateway.
Los siguientes términos, que aparecen en la referencia de error en “Controlador”, indican cómo se manejan los diversos errores en Edge Microgateway.
- assert: Por lo general, Edge Microgateway se detendrá cuando falle una evaluación de aserción. Sin embargo, no siempre es así, ya que las “aserciones” generan 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 microgateway |
|||
error | organización es obligatoria | assert | assert(options.org,"org es obligatoria"); |
error | El entorno es obligatorio | assert | assert(options.env,"env es obligatorio") |
error | el nombre de usuario es obligatorio | assert | assert(options.username || options.token,"username is required"); |
error | la contraseña es obligatoria | assert | assert(options.password || options.token,"password is required") |
error | organización es obligatoria | assert | assert(options.org,"org es obligatoria"); |
error | El entorno es obligatorio | assert | assert(options.env,"env es obligatorio") |
error | el nombre de usuario es obligatorio | assert | assert(options.username || options.token,"username is required"); |
error | la contraseña es obligatoria | assert | assert(options.password || options.token,"password is required") |
error | organización es obligatoria | assert | assert(options.org,"org es obligatoria"); |
error | El entorno es obligatorio | assert | assert(options.env,"env es obligatorio") |
error | organización es obligatoria | assert | assert(options.org,"org es obligatoria"); |
error | El entorno es obligatorio | assert | assert(options.env,"env es obligatorio") |
error | el nombre de usuario es obligatorio | assert | assert(options.username, 'username is required'); |
error | la contraseña es obligatoria | assert | assert(options.password, 'password is required'); |
error | organización es obligatoria | assert | assert(options.org, 'org es obligatorio'); |
error | El entorno es obligatorio | assert | assert(options.env, 'env es obligatorio'); |
error | debe tener asignado un archivo de destino | assert | assert(targetFile, 'debe tener un archivo de destino asignado') |
error | debe tener una clave | assert | assert(clave, 'debe tener una clave'); |
error | debe tener un Secret | assert | assert(secret, 'debe tener un secreto'); |
error | Se debe configurar el comando dir | assert | assert(dir, 'dir debe configurarse') |
error | La devolución de llamada debe estar presente | assert | assert(devolución de llamada, 'devolución de llamada debe estar presente') |
error | el nombre de usuario es obligatorio | assert | assert(options.username, 'username is required'); |
error | la contraseña es obligatoria | assert | assert(options.password, 'password is required'); |
error | organización es obligatoria | assert | assert(options.org, 'org es obligatorio'); |
error | El entorno es obligatorio | assert | assert(options.env, 'env es obligatorio'); |
error | RuntimeUrl es obligatoria | assert | assert(options.runtimeUrl, 'runtimeUrl es obligatoria'); |
error | La mgmtUrl es obligatoria. | assert | assert(options.mgmtUrl, 'mgmtUrl es obligatoria'); |
error | el archivo es obligatorio | assert | assert(options.file,"file is required") |
error | debe tener un objetivo | assert | assert(options.target, 'debe tener target'); |
error | complementos no configurados | assert | assert(config.edgemicro.plugins, 'complementos no configurados'); |
error | el dir del complemento no existe: + pluginDir | assert | assert(fs.existsSync(pluginDir), 'plugin dir no existe: ' + pluginDir); |
error | el dir del complemento no es un directorio: + pluginDir | assert | assert(stat.isDirectory(), 'plugin dir' no es un directorio: ' + pluginDir); |
error | error al leer el dir del complemento: + pluginDir | assert | assert(dirs, 'error read plugin dir: ' + pluginDir); |
error | debe tener un token | assert | assert(token, 'debe tener un token'); |
error | el campo configpath no puede estar vacío | assert | assert(config, 'configpath no puede estar vacía'); |
error | debe tener EDGEMICRO_KEY | assert | assert(clave, 'debe tener EDGEMICRO_KEY'); |
error | debe tener EDGEMICRO_SECRET | assert | assert(secret, 'debe tener EDGEMICRO_SECRET'); |
error | la configuración no existe | arroja | relacionado con el archivo YAML |
error | parece que Edgemicro ya está en ejecución. | console.error | se intenta reemplazar un archivo .sock |
error | No se pudieron verificar los cambios en la configuración. Se reintentará después del | console.error | problema con la comunicación perimetral |
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 vuelve a comenzar | console.error | |
error | 'configuración de caché ' + caché + ' no existe. saliendo.' | console.error | |
error | archivo de configuración no se pudo escribir: | console.error | La configuración fallará |
error | archivo de configuración no descargado: | console.error | La configuración fallará |
error | No se pudo iniciar Edge micro | console.error | No debería estar en ejecución |
error | Edgemicro no está en ejecución. | console.error | Comprobar el proceso, este no debería aparecer |
error | El entorno es obligatorio | console.error | Variables de entorno necesarias para la ejecución |
error | error: Editar apiproxy Prompt.xml | console.error | Acceso a archivos |
error | error: Editar apiproxy default.xml | console.error | Acceso a archivos |
error | no se pudo verificar el certificado. Se está instalando el certificado nuevo. | console.error | No se puede usar la clave pública |
error | Se produjo un error cuando se recuperaba la región de la organización | console.error | key-gen.js, cert-lib.js y private.js |
error | error al subir las 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 iniciar 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 | organización es obligatoria | console.error | Parámetro |
error | no está disponible. | console.error | Parámetro |
error | el secreto es obligatorio | console.error | Parámetro |
error | protocolo de url no admitido: | console.error | La información de configuración indica un protocolo de Internet que no está dentro del alcance de Edge Microgateway |
error | verificando caso negativo de Analytics: ERROR | console.error | Posible falla o error |
error | verificación de estadísticas con carga útil: FAIL | console.error | Posible falla o error |
error | verificando disponibilidad de la URL de arranque:FAIL | console.error | Posible falla o error |
error | verifica la disponibilidad de jwt_public_key: FAIL | console.error | Posible falla o error |
error | verificando la disponibilidad de los productos: NO DISPONIBLE | console.error | Posible falla o error |
error | verificando cuota con productos configurados: ERROR | console.error | Posible falla o error |
warn | No se pudo recuperar la configuración de la puerta de enlace. Si continúas, se intentará realizar la copia almacenada en caché. | console.error | |
warn | El KVM ya existe en tu organización | console.log | |
warn | ya está implementado | console.log | |
warn | no se encontró el complemento secuenciado: | console.warn | |
warn | pluginDir %s no existe | console.log | pluginDir (.*) no existe |
Módulo microgateway-core |
|||
error | configuración no inicializada | assert | assert(config, 'config not initial') |
error | debe tener un archivo de configuración | assert | assert(config, ' debe tener una configuración') |
error | debe tener configuración | assert | assert(config, 'debe tener configuración') |
error | la configuración debe tener uid | assert | assert(config.uid, 'config must have uid'); |
error | debe tener config.edgemicro.logging en la configuración | assert | assert(logConfig, 'debe tener config.edgemicro.logging en la configuración'); |
error | debe tener un método de solicitud | assert | assert(httpLibrary.request, 'debe tener un método de solicitud'); |
error | debe tener el complemento cargado en la memoria | assert | assert(options.plugin, "debe tener el complemento cargado en la memoria"); |
error | init debe ser una función | assert | assert(_.isFunction(options.plugin.init), 'init debe ser una función'); |
error | debe tener un nombre de complemento | assert | assert(options.pluginName, "debe tener nombre de complemento"); |
error | ignorando los controladores de complemento no válidos y el nombre | assert | assert(_.isObject(middleware), 'ignorando los controladores de complementos no válidos ' + name); |
error | las opciones deben contener el archivo config | assert | assert(config, 'las opciones deben contener la configuración') |
error | el complemento debe tener un nombre | assert | assert(name,"complemento debe tener un nombre") |
error | el nombre debe ser una cadena | assert | assert(_.isString(name),"nombre debe ser una cadena"); |
error | complemento debe ser una función | assert | assert(_.isFunction(plugin),"plugin must be a function(config,logger,stats){return {onresponse:function(req,res,data,next){}}}"); |
error | debe tener una clave | assert | assert(clave, 'debe tener una clave'); |
error | debe tener un Secret | assert | assert(secret, 'debe tener un secreto'); |
error | debe tener un directorio de configuración de origen | assert | assert(fuente, 'debe tener un directorio de configuración de origen'); |
error | error al cargar el complemento | console.error | No se cargó el complemento. |
error | falló en el controlador de errores | callback | Función de HTTP server.on() |
error | la longitud del encabezado es mayor que el tamaño permitido | Error de HTTP | No ejecuta el complemento |
error | respuesta correcta antes de que se pueda realizar el trabajo | logger.error | El complemento de destino no se ejecuta |
error | el controlador arrojó una excepción | callback | Capturar error del complemento (catch) |
error | Error al iniciar Edge micro | callback | Edge Microgateway no se inicia |
error | complemento debe ser una función | arroja | |
warn | console.error | warns | Escritura de registros |
warn | Error targetRequest | invocar el manejo de errores de destino | Error de cliente HTTP en conexión con el destino |
warn | Error targetResponse | invocar el manejo de errores de destino | Error del servidor de destino HTTP en conexión con el destino como se ve en el cliente |
Módulo microgateway-config |
|||
error | allow_message | assert | assert(+config.quota.allow > 0, allow_message); |
error | la configuración no existe | arroja | Archivo YAML de configuración |
error | la configuración está vacía | arroja | Archivo YAML de configuración |
error | config no es un archivo | arroja | Archivo YAML de configuración |
error | la configuración no está definida | assert | assert(config, 'config is not definió); |
error | El archivo config.analytics.batchSize no es válido | assert | assert(+config.analytics.batchSize > 0, 'config.analytics.batchSize no es válido'); |
error | config.analytics.batchSize no es un número | assert | assert(typeof config.analytics.batchSize === 'number', 'config.analytics.batchSize no es un número'); |
error | El archivo config.analytics.bufferSize no es válido. | assert | assert(+config.analytics.bufferSize > 0, 'config.analytics.bufferSize no es válido'); |
error | config.analytics.bufferSize no es un número | assert | assert(typeof config.analytics.bufferSize === 'number', 'config.analytics.bufferSize no es un número'); |
error | config.analytics.formarInterval no es válido | assert | assert(+config.analytics.formarInterval > 0, 'config.analytics.cleanInterval no es válido'); |
error | config.analytics.cleanInterval no es un número | assert | assert(typeof config.analytics.vacíaInterval === 'number', 'config.analytics.THREADInterval no es un número'); |
error | config.analytics.proxy no es "dummy" | assert | assert(config.analytics.proxy === 'dummy', 'config.analytics.proxy no es "dummy"'); |
error | No se definió el archivo config.analytics.proxy | assert | assert(config.analytics.proxy, 'config.analytics.proxy no está definido'); |
error | config.analytics.proxy_revision no es un número | assert | assert(typeof config.analytics.proxy_revision === 'number', 'config.analytics.proxy_revision no es un número'); |
error | No se definió config.analytics.proxy_revision | assert | assert(config.analytics.proxy_revision, 'config.analytics.proxy_revision) no está definida'); |
error | config.analytics.source no es “microgateway” | assert | assert(config.analytics.source === 'microgateway', 'config.analytics.source no es "microgateway"'); |
error | No se definió config.analytics.source | assert | assert(config.analytics.source, 'config.analytics.source está no definida'); |
error | config.analytics.uri no es una string | assert | assert(typeof config.analytics.uri === 'string', 'config.analytics.uri no es una string'); |
error | No se definió el archivo config.analytics.uri | assert | assert(config.analytics.uri, 'config.analytics.uri no está definido'); |
error | No se definió config.apikeys.public_key | assert | assert(typeof config.apikeys.public_key === 'string', 'config.apikeys.public_key no está definida'); |
error | No se definió el archivo config.edge_config | assert | assert(config.edge_config, 'config.edge_config no está definida)'); |
error | El archivo config.edge_config.boot no está definido. | assert | assert(config.edge_config.boot, 'config.edge_config.boot está no definido); |
error | El archivo config.edge_config.jwt_public_key no está definido. | assert | assert(config.edge_config.jwt_public_key, 'config.edge_config.jwt_public_key no está definida'); |
error | Se debe definir config.edge_config.proxy si se define config.edge_config.proxy_tunnel. | assert | assert(typeof config.edge_config.proxy !== 'undefined', 'config.edge_config.proxy debe definirse si se define config.edge_config.proxy_tunnel'); |
error | config.edge_config.proxy_tunnel is not a boolean | assert | 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 | assert | assert(typeof config.edge_config.refresh_interval === 'number', 'config.edge_config.refresh_interval no es un número'); |
error | config.edge_config.refresh_interval es demasiado pequeño (min 1 h) | assert | assert(config.edge_config.refresh_interval >= 3600000, 'config.edge_config.refresh_interval es demasiado pequeño (min 1 h))'); |
error | config.edge_config.retry_interval no es un número | assert | assert(typeof config.edge_config.retry_interval === 'number', 'config.edge_config.retry_interval no es un número'); |
error | El archivo config.edge_config.retry_interval es demasiado pequeño (5 s como mínimo) | assert | assert(config.edge_config.retry_interval >= 5000, 'config.edge_config.retry_interval es demasiado pequeño (min 5 s))'); |
error | El archivo config.edgemicro no está definido | assert | assert(config.edgemicro, 'config.edgemicro no está definido'); |
error | No se definió el archivo config.edgemicro.logging | assert | assert(config.edgemicro.logging, 'config.edgemicro.logging no se definió'); |
error | No se definió el archivo config.edgemicro.logging.dir | assert | si (!config.edgemicro.logging.to_console) assert(config.edgemicro.logging.dir, 'config.edgemicro.logging.dir no está definida)'); |
error | No se definió el archivo config.edgemicro.logging.level | assert | assert(config.edgemicro.logging.level, 'config.edgemicro.logging.level no se definió'); |
error | config.edgemicro.max_connections no es un número | assert | assert(typeof config.edgemicro.max_connections === 'number', 'config.edgemicro.max_connections no es un número'); |
error | No se definió el archivo config.edgemicro.max_connections | assert | assert(config.edgemicro.max_connections, 'config.edgemicro.max_connections no está definida'); |
error | config.edgemicro.plugins.Sequence no es un array | assert | assert(Array.isArray(config.edgemicro.plugins.secuencia), 'config.edgemicro.plugins.Sequence no es un array'); |
error | No se definió el archivo config.edgemicro.port | assert | assert(config.edgemicro.port, 'config.edgemicro.port no está definido'); |
error | No se definió config.oauth.allowInvalidAuthorization | assert | assert(typeof config.oauth.allowInvalidAuthorization === 'boolean', 'config.oauth.allowInvalidAuthorization no está definido'); |
error | No se definió config.oauth.allowNoAuthorization | assert | assert(typeof config.oauth.allowNoAuthorization === 'boolean', 'config.oauth.allowNoAuthorization no está definido'); |
error | No se definió config.oauth.public_key. | assert | assert(typeof config.oauth.public_key === 'string', 'config.oauth.public_key no está definida'); |
error | No se definió el archivo config.oauthv2.public_key. | assert | assert(typeof config.oauthv2.public_key === 'string', 'config.oauthv2.public_key no está definida'); |
error | El archivo config.proxies no está definido. | assert | assert(config.proxies, 'config.proxies no está definido'); |
error | No se definió config.proxy[ + index + ].base_path | assert | assert(proxy.base_path, 'config.proxy[' + índice + '].base_path no está definida'); |
error | config.proxy[ + index + ].max_connections no es un número | assert | assert(typeof proxy.max_connections === 'number', 'config.proxy[' + index + '].max_connections no es un número'); |
error | No se definió config.proxy[ + index + ].max_connections | assert | assert(proxy.max_connections, 'config.proxy[' + índice + '].max_connections no está definida'); |
error | No se definió config.proxy[ + index + ].name | assert | assert(proxy.name, 'config.proxy[' + index + '].name no está definido'); |
error | El archivo config.proxy[ + index + ].proxy_name no está definido. | assert | assert(proxy.target_name, 'config.proxy[' + índice + '].proxy_name no está definido'); |
error | No se definió config.proxy[ + index + ].revision | assert | assert(proxy.revision, 'config.proxy[' + índice + '].revision no está definida'); |
error | No se definió config.proxy[ + index + ].url | assert | assert(proxy.url, 'config.proxy[' + index + '].url no está definida'); |
error | config.quota.allow no es un número | assert | assert(typeof config.quota.allow === 'number', 'config.quota.allow no es un número'); |
error | No se definió config.quota.allow | assert | assert(config.quota.allow, 'config.quota.allow no está definido'); |
error | config.quota.interval no es un número | assert | assert(typeof config.quota.interval === 'number', 'config.quota.interval no es un número'); |
error | No se definió config.quota.interval | assert | assert(config.quota.interval, 'config.quota.interval is not defined'); |
error | El archivo config.spikearrest no está definido. | assert | assert(config.spikearrest, 'config.spikearrest no está definido'); |
error | El archivo config.spikearrest.allow no es válido | assert | assert(+config.spikearrest.allow > 0, 'config.spikearrest.allow no es válido'); |
error | config.spikearrest.allow no es un número | assert | assert(typeof config.spikearrest.allow === 'número', 'config.spikearrest.allow no es un número'); |
error | El archivo config.spikearrest.allow no está definido. | assert | assert(config.spikearrest.allow, 'config.spikearrest.allow no está definido'); |
error | El archivo config.spikearrest.bufferSize no es válido. | assert | assert(+config.spikearrest.bufferSize > 0, 'config.spikearrest.bufferSize no es válido'); |
error | config.spikearrest.bufferSize no es un número | assert | assert(typeof config.spikearrest.bufferSize === 'number', 'config.spikearrest.bufferSize no es un número'); |
error | No se definió el archivo config.spikearrest.timeUnit. | assert | assert(config.spikearrest.timeUnit, 'config.spikearrest.timeUnit is not defined'); |
error | ERROR CRÍTICO: Se produjo un error al analizar la lista de productos descargadas | callback | |
error | ERROR CRÍTICO: Se produjo un error al analizar la lista de proxies descargadas | callback | |
error | ERROR DE CONFIGURACIÓN incorrecta DEL PRODUCTO DETECTADO | console.error | Seguido de console.warn('con la configuración antigua almacenada en caché'); |
error | error al leer la configuración de | arroja | Archivo YAML de configuración |
error | error al guardar la configuración en | callback | Archivo YAML de configuración |
error | Error irrecuperable: la configuración almacenada en caché no está disponible, no se puede continuar | callback | |
error | interval_message | assert | assert(+config.quota.interval > 0, interval_message); |
error | protocolo no válido para config.edge_config.proxy (http: o https:: + proxy_url.protocol) | assert | assert(proxy_url.protocol === 'http:' || proxy_url.protocol === 'https:', 'protocolo no válido para config.edge_config.proxy (previsto http: o https:): ' + proxy_url.protocol); |
error | host de proxy no válido para config.edge_config.proxy | assert | assert(proxy_url.hostname, 'host proxy no válido para config.edge_config.proxy: ' + proxy_url.hostname); |
error | Parece que Edge micro no se configuró, consulta la guía para administradores | callback | Resultado: No se puede cargar la configuración |
error | falta la clave | assert | assert(keys.key, 'key is missing'); |
error | debe tener configDir | assert | assert(configDir, 'debe tener configDir') |
error | opciones imperdibles | assert | assert(options, 'debe tener opciones'); |
error | debe tener un valor de origen | assert | assert(source, 'debe tener fuente') |
error | debe tener un origen desde el cual cargarlo | assert | assert(options.source, 'debe tener una fuente desde la cual cargar') |
error | debe tener targetFile | assert | assert(fileName, 'debe tener targetFile') |
error | Las opciones no pueden ser nulas. | assert | assert(options, 'options no puede ser nula'); |
error | options.keys no puede ser nulo | assert | assert(options.keys, 'options.keys no puede ser nula'); |
error | port_message | assert | assert(+config.edgemicro.port < 65536, port_message); |
error | los productos deben ser un array | assert | assert(Array.isArray(products), 'Los productos deben ser un array'); |
error | 'proxies para producto ' + producto + 'debe ser un array' | assert | assert(Array.isArray(product.proxies), 'proxies para el producto ' + product + ' debe ser un array'); |
error | falta el secreto | assert | assert(keys.secret, 'secret is missing'); |
error | no se estableció el objetivo | assert | assert(target, 'target is not set'); |
warn | Se produjo un error cuando se descargaba la configuración, verifica la configuración de arranque | console.warn | |
warn | no se pudo descargar jwt_public_key | console.warn | |
warn | Las claves JWK no están habilitadas | console.warn | |
warn | mensaje, 'descargar desde', url, 'devuelta' | console.warn | Busca: (.*)\sdownload from\s(.*)\sreturned |
warn | No se encontraron microproductos perimetrales en la respuesta | console.warn | |
warn | No se encontraron microproxies perimetrales en la organización | console.warn | |
warn | no se encontraron microproxies perimetrales en la respuesta | console.warn | |
warn | no se encontraron productos en la organización | console.warn | |
warn | No se encontraron productos en la respuesta | console.warn | |
warn | con la configuración antigua en caché | console.warn | |
Módulo microgateway-plugins |
|||
error | la configuración no existe | arroja | Relacionado con el archivo YAML |
error | apikey | Respuesta HTTP | Errores en el complemento apiky |
error | BAuth | Respuesta HTTP | Errores en el complemento bauth |
error | extauth | Respuesta HTTP | Errores en el complemento extauth |
error | OAuth | Respuesta HTTP | Errores en el complemento de OAuth |
warn | Se produjo un error al procesar las estadísticas de Apigee. Permite que el procesamiento de solicitudes continúe | logger.error | |
warn | ignorando err | console.warn | complementos apikeys, oauth y oauthv2, |
warn | Error al analizar jwt: | console.warn | |
warn | El objeto de respuesta de juramento no tiene setHeader. | console.warn | El error del parámetro oauth indica que no se informarán algunos errores. |
warn | El entorno de ejecución no proporciona el objeto de respuesta del juramento | console.warn | error de parámetro de OAuth |
warn | El tiempo de ejecución no suministra el objeto de estadísticas de juramento | console.warn | error de parámetro de OAuth |
Módulo de apigeetool-node |
|||
error | No se pudo borrar la caché con el código de estado %d', res.statusCode | callback | Se arroja en deletecache.js. Código de estado de Apigee Edge. Hace una devolución de llamada a un error de seguimiento de pila con este mensaje: done(new Error(errMsg)); |
error | No se pudo borrar el producto con el código de estado %d', res.statusCode | callback | Se arroja en deleteproduct.js. Código de estado de Apigee Edge. Hace una devolución de llamada a un error de seguimiento de pila con este mensaje: done(new Error(errMsg)); |
error | org, api y review deben especificarse. | callback | Se arroja en fetchproxy.js. Error de configuración. |
error | Se recibió el error %d al recuperar el proxy: %j | callback | Se arroja 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. Devuelve todos los errores a las devoluciones de llamada como errores de seguimiento de pila. No genera impresiones de la consola ni entradas de registro. |
error | comando + ' falló con el código de estado %d | callback | Se arroja en command-utils.js. Para cualquier comando que se analice y se pase a este módulo, cualquier código que no sea 200 ni 201 generará un mensaje de error. Da formato a este mensaje, pero no se imprime. Pasa un error de seguimiento de pila con el mensaje de vuelta a las devoluciones de llamada. |
error | Se recibió el error %d al recuperar el flujo compartido: %s | callback | Se arroja en fetchsharedflow.js. Para cualquier estado HTTP que no sea 200. Si tiene éxito, pero no puede
escribir un archivo, escribirá en la consola: No se pudo escribir el archivo Texto de error: [stack_trace_error] |
error | No se pudo crear el KeySecret con el código de estado %d', res.statusCode | callback | Se arroja en createappkey.js. Para códigos de estado HTTP de Apigee Edge que no son 200 ni 201. |
error | No se pudo crear la caché con el código de estado %d', res.statusCode | callback | Se arroja en createcache.js. Para códigos de estado HTTP de Apigee Edge que no son 200 ni 201. |
error | No se pudo crear el producto con el código de estado %d', res.statusCode | callback | Se arroja en createproduct.js. Para códigos de estado HTTP de Apigee Edge que no son 201. Si el estado HTTP es 201, pero la respuesta incluye el error JSON, este se reenvía a la devolución de llamada. |
error | No se pudo borrar la app con el código de estado %d', res.statusCode | callback | Se arroja en deleteapp.js. Para códigos de estado HTTP de Apigee Edge que no son 200. Si el estado HTTP es 200, pero la respuesta incluye el error JSON, este se reenvía a la devolución de llamada. |
error | Se produjo un error durante la creación del desarrollador con el código de estado %d', res.statusCode | callback | Se arroja en createdeveloper.js. Para códigos de estado HTTP de Apigee Edge que no son 201. Si el estado HTTP es 201, pero la respuesta incluye el error JSON, este se reenvía a la devolución de llamada. |
error | No se pudo borrar el desarrollador con el código de estado %d', res.statusCode | callback | Se arroja en deletedeveloper.js. Para códigos de estado HTTP de Apigee Edge que no son 200. Si el estado HTTP es 200, pero la respuesta incluye el error JSON, 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.