Referencia de error de Edge Microgateway

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.

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.