Referencia de error de Edge Microgateway

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.

Parsing errors are sent to a callback.

Error Message HTTP status Possible Causes
default 500 All other not categorized

monitor plug-in

This section describes the error codes and messages that are returned by the monitor plug-in with descriptions of possible causes.

No errors generated.

oauth plug-in (v1)

This section describes the error codes and messages that are returned by the oauth plug-in (v1) with descriptions of possible causes.

Error Message HTTP status Possible Causes
invalid_request Invalid Authorization Header 400
  • allowNoAuthorization attribute == false
  • allowOAuthOnly == true
  • No Authorization header in the HTTP request
invalid_request API Key Verification URL not configured 400 Verification API service not in header.
Access_denied Copy service message 403 In response to the auth service timeout
invalid_token Missing API Key header 401 allowAPIKeyOnly == true

Unless allowInvalidAuthorization is set

invalid_token token could not be parsed 401 allowAPIKeyOnly == true

Bad token delivered

missing_authorization Missing Authorization header 401 allowNoAuthorization == false

Authorization-header in HTTP

allowOAuthOnly == true

invalid_authorization Invalid Authorization header 401 allowOAuthOnly == true

Authorization-header not in HTTP

gateway_timeout Copy service message 504 In response to the auth timeout
default 500 All other uncategorized responses

oauthv2 plug-in

This section describes the error codes and messages that are returned by the oauthv2 plug-in with descriptions of possible causes.

Error Message HTTP status Possible Causes
invalid_request Invalid Authorization Header 400
  • allowNoAuthorization attribute == false
  • allowOAuthOnly == true
  • No Authorization header in the HTTP request
invalid_request API Key Verification URL not configured 400 Verification API service not in header
access_denied Copy service message 403 In response to the auth service timeout
invalid_token Missing API Key header 401 allowAPIKeyOnly == true

Unless allowInvalidAuthorization is set

invalid_token token could not be parsed 401 allowAPIKeyOnly == true

Bad token delivered

missing_authorization Missing Authorization header 401 allowNoAuthorization == false

Authorization-header in HTTP

allowOAuthOnly == true

invalid_authorization Invalid Authorization header 401 allowOAuthOnly == true

Authorization-header not in HTTP

gateway_timeout Copy service message 504 In response to the auth timeout
default 500 All other uncategorized responses

quota plug-in

This section describes the error codes and messages that are returned by the quota plug-in with descriptions of possible causes.

Defers to volos quota/apigee.

Error Message HTTP status Possible Causes
invalid_authorization Invalid Authorization header 401 allowOAuthOnly == true

Authorization-header not in HTTP

gateway_timeout Not authorized to call the remote proxy. Check the "key" parameter. 404 In response to the auth timeout
default 500 All other not categorized
throw uri parameter must be specified apigeequota.js
throw key parameter must be specified apigeequota.js
callback Apigee Remote Proxy not found at: ' + self.uri + '. Check your configuration apigeequota.js
callback HTTP error getting proxy version: %d. Check the "uri" parameter. apigeequota.js
callback Quotas with a fixed starting time are not supported apigeequota.js
callback Error updating remote quota: %d %s', resp.statusCode, body apigeequota.js

If there is an error on an entry in the product list, the product list will stop being processed.

quota-memory plug-in

This section describes the error codes and messages that are returned by the quota-memory plug-in with descriptions of possible causes.

Defers to volos quota/apigee.

Error Message HTTP status Possible Causes
invalid_authorization Invalid Authorization header 401 allowOAuthOnly == true

Authorization-header not in HTTP

gateway_timeout Not authorized to call the remote proxy. Check the "key" parameter. 404 In response to the auth timeout
default 500 All other not categorized
throw start time not allowed for month time units quota.js. volos error on time format.
throw Invalid start time %s quota.js. volos error on time format.
throw Invalid timeUnit %s quota.js. volos error on time format.

If there is an error on an entry in the product list, the product list will stop being processed.

spikearrest plug-in

This section describes the error codes and messages that are returned by the spikearrest plug-in with descriptions of possible causes.

Defers to volos spikearrest/memory.

Error Message HTTP status Possible Causes
SpikeArrest engaged 503 Traffic spike. This is expected behavior.
throw Invalid timeUnit %s spikearrest.js
callback key must be a string spikearrest.js
throw %s must be a number', name spikearrest.js

transform-uppercase plug-in

This section describes the error codes and messages that are returned by the transform-uppercase plug-in with descriptions of possible causes.

No errors generated.