Referência de erros do Edge Microgateway

Você está lendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
info

Este tópico descreve erros e avisos que podem ocorrer com o Edge Microgateway.

Erros gerais de aplicativo

  • HTTP 500, falha no manipulador de erros: a maioria dos erros terá esse número, assim como alguns erros retornados de destinos. Em especial, "errors-middleware.js" é usado em todo o módulo microgateway-core. Quando usado, ele grava statusCodes no registro usando o Edge Microgateway logger object: logger.error(err, 'failed in error handler');. Para códigos recebidos de destinos entre 100 e 300, o errors-middleware.js reescreve o statusCode para 500 para retornar ao cliente.

  • HTTP 404: esse status pode aparecer como um stack trace com a mensagem no match found for [API_path_name].

Erros e avisos de módulo

É possível usar essas informações para configurar alertas que ajudam a monitorar e gerenciar sua implantação do Edge Microgateway.

Os termos a seguir, que aparecem na referência de erro em "Handler", indicam como os vários erros são processados no Edge Microgateway.

  • assert: normalmente, o Edge Microgateway é interrompido quando uma avaliação de asserção falha. No entanto, isso nem sempre é o caso, já que "asserts" geram exceções que podem ser capturadas.
  • throws: possível interrupção do sistema.
  • Callback: o erro é transmitido a um callback, e o sistema pode continuar.
Tipo Mensagem Handler Observações

módulomicrogateway

erro A organização é obrigatória declarar assert(options.org,"org is required");
erro env é obrigatório declarar assert(options.env,"env is required")
erro o nome de usuário é obrigatório declarar assert(options.username || options.token,"username is required");
erro A senha é obrigatória declarar assert(options.password || options.token,"password is required")
erro A organização é obrigatória declarar assert(options.org,"org is required");
erro env é obrigatório declarar assert(options.env,"env is required")
erro o nome de usuário é obrigatório declarar assert(options.username || options.token,"username is required");
erro A senha é obrigatória declarar assert(options.password || options.token,"password is required")
erro A organização é obrigatória declarar assert(options.org,"org is required");
erro env é obrigatório declarar assert(options.env,"env is required")
erro A organização é obrigatória declarar assert(options.org,"org is required");
erro env é obrigatório declarar assert(options.env,"env is required")
erro o nome de usuário é obrigatório declarar assert(options.username, 'username is required');
erro A senha é obrigatória declarar assert(options.password, 'password is required');
erro A organização é obrigatória declarar assert(options.org, 'org is required');
erro env é obrigatório declarar assert(options.env, 'env is required');
erro precisa ter um arquivo de destino atribuído declarar assert(targetFile, 'must have an assigned target file')
erro precisa ter uma chave declarar assert(key, 'must have a key');
erro precisa ter um secret declarar assert(secret, 'must have a secret');
erro O diretório precisa ser configurado declarar assert(dir, 'dir must be configured')
erro O callback precisa estar presente declarar assert(callback, 'callback must be present')
erro o nome de usuário é obrigatório declarar assert(options.username, 'username is required');
erro A senha é obrigatória declarar assert(options.password, 'password is required');
erro A organização é obrigatória declarar assert(options.org, 'org is required');
erro env é obrigatório declarar assert(options.env, 'env is required');
erro runtimeUrl é obrigatório declarar assert(options.runtimeUrl, 'runtimeUrl is required');
erro mgmtUrl é obrigatório declarar assert(options.mgmtUrl, 'mgmtUrl is required');
erro O arquivo é obrigatório declarar assert(options.file,"file is required")
erro precisa ter uma meta declarar assert(options.target, 'must have target');
erro plug-ins não configurados declarar assert(config.edgemicro.plugins, 'plugins not configured');
erro plugin dir does not exist: + pluginDir declarar assert(fs.existsSync(pluginDir), 'plugin dir does not exist: ' + pluginDir);
erro plugin dir is not a directory: + pluginDir declarar assert(stat.isDirectory(), 'plugin dir is not a directory: ' + pluginDir);
erro erro ao ler o diretório do plug-in: + pluginDir declarar assert(dirs, 'error reading plugin dir: ' + pluginDir);
erro precisa ter um token declarar assert(token, 'must have a token');
erro configpath não pode ficar em branco declarar assert(config, 'configpath can't be empty');
erro precisa ter EDGEMICRO_KEY declarar assert(key, 'must have EDGEMICRO_KEY');
erro precisa ter EDGEMICRO_SECRET declarar assert(secret, 'must have EDGEMICRO_SECRET');
erro A configuração não existe lança relacionado ao arquivo YAML
erro O edgemicro parece já estar em execução. console.error tentando substituir um arquivo .sock
erro Falha ao verificar mudanças na configuração. Vamos tentar de novo depois de console.error problema com a comunicação de borda
erro Se o servidor não estiver em execução, pode ser devido ao encerramento incorreto da inicialização anterior. console.error
erro %s ausente. Execute console.error Ausente (.*). Execute
erro Não foi possível recarregar o edgemicro console.error nível de comando
erro Falha ao interromper o edgemicro console.error Nível de comando
erro 'Tente remover ' + ipcPath + ' e comece de novo' console.error
erro 'cache configuration ' + cache + ' does not exist. exiting.' console.error
erro Não foi possível gravar o arquivo de configuração: console.error A configuração vai falhar
erro O arquivo de configuração não foi baixado: console.error A configuração vai falhar
erro Falha ao iniciar o micro de borda console.error Ele não deve estar em execução
erro O edgemicro não está em execução. console.error Verifique se o processo não está listado
erro env é obrigatório console.error Variáveis de ambiente necessárias para execução
erro error - editing apiproxy Callout.xml console.error Acesso ao arquivo
erro error - editing apiproxy default.xml console.error Acesso ao arquivo
erro verificação de erros para o certificado. Instalando novo certificado. console.error Não é possível usar a chave pública
erro erro ao recuperar a região da organização console.error key-gen.js, cert-lib.js e private.js
erro Erro ao fazer upload das credenciais console.error Não é possível sincronizar a chave pública com o Edge
erro com falha console.error key-gen.js
erro não foi possível inicializar o arquivo configpath %s console.error A configuração não está carregando
erro resposta inválida da API de região console.error key-gen.js, cert-lib.js e private.js
erro A chave é obrigatória. console.error Parâmetro
erro A organização é obrigatória console.error Parâmetro
erro a porta não está disponível. console.error Parâmetro
erro O secret é obrigatório console.error Parâmetro
erro protocolo de URL indisponível: console.error As informações de configuração indicam um protocolo da Internet que não está no escopo do Edge Microgateway.
erro verificando caso negativo de análise: FALHA console.error Possível falha/travamento
erro verifying analytics with payload: FAIL console.error Possível falha/travamento
erro verificando a disponibilidade do URL de bootstrap:FALHA console.error Possível falha/travamento
erro verificando a disponibilidade de jwt_public_key: FALHA console.error Possível falha/travamento
erro verificando a disponibilidade de produtos: FALHA console.error Possível falha/travamento
erro verificando a cota com produtos configurados: FALHA console.error Possível falha/travamento
warn não foi possível recuperar a configuração do gateway. continuando, vamos tentar uma cópia em cache.. console.error
warn O KVM já existe na sua organização console.log
warn já foi implantado console.log
warn sequenced plugin not found: console.warn
warn pluginDir %s não existe console.log pluginDir (.*) não existe

Módulo microgateway-core

erro config não inicializada declarar assert(config, 'config not initialized')
erro precisa ter uma configuração declarar assert(config, ' must have a config')
erro precisa ter configuração declarar assert(config, 'must have config')
erro A configuração precisa ter um UID declarar assert(config.uid, 'config must have uid');
erro precisa ter config.edgemicro.logging em config declarar assert(logConfig, 'must have config.edgemicro.logging in config');
erro precisa ter o método de solicitação declarar assert(httpLibrary.request, 'must have request method');
erro precisa ter o plug-in carregado na memória declarar assert(options.plugin, "must have plugin loaded in memory");
erro init precisa ser uma função declarar assert(_.isFunction(options.plugin.init), 'init must be a function');
erro precisa ter o nome do plug-in declarar assert(options.pluginName, "must have plugin name");
erro ignorar manipuladores e nomes de plug-ins inválidos declarar assert(_.isObject(middleware), 'ignoring invalid plugin handlers ' + name);
erro as opções precisam conter a configuração declarar assert(config, 'options must contain config')
erro o plug-in precisa ter um nome declarar assert(name,"plugin must have a name")
erro O nome precisa ser uma string declarar assert(_.isString(name),"name must be a string");
erro o plug-in precisa ser uma função declarar assert(_.isFunction(plugin),"plugin must be a function(config,logger,stats){return {onresponse:function(req,res,data,next){}}}");
erro precisa ter uma chave declarar assert(key, 'must have a key');
erro precisa ter um secret declarar assert(secret, 'must have a secret');
erro precisa ter um diretório de configuração de origem declarar assert(source, 'must have a source config directory');
erro Erro ao carregar o plug-in console.error Plug-in não carregado
erro falhou no gerenciador de erros callback Função HTTP server.on()
erro comprimento do cabeçalho maior que o tamanho permitido Erro HTTP Não executa o plug-in
erro A resposta foi concluída antes que o trabalho pudesse ser feito. logger.error O plug-in de destino não é executado
erro o manipulador gerou uma exceção callback Erro de captura do plug-in (catch)
erro erro ao iniciar o micro edge callback O Edge Microgateway não inicia
erro o plug-in precisa ser uma função lança
warn console.error avisa Gravação de registros
warn Erro targetRequest invocar o tratamento de erros de destino Erro do cliente HTTP na conexão com o destino
warn Erro targetResponse invocar o tratamento de erros de destino Erro de servidor de destino HTTP na conexão com o destino, conforme visto no cliente

microgateway-config module

erro allow_message declarar assert(+config.quota.allow > 0, allow_message);
erro A configuração não existe lança Arquivo yaml de configuração
erro config está vazio lança Arquivo yaml de configuração
erro config não é um arquivo lança Arquivo yaml de configuração
erro config is not defined declarar assert(config, 'config is not defined');
erro config.analytics.batchSize é inválido declarar assert(+config.analytics.batchSize > 0, 'config.analytics.batchSize is invalid');
erro config.analytics.batchSize não é um número declarar assert(typeof config.analytics.batchSize === 'number', 'config.analytics.batchSize is not a number');
erro config.analytics.bufferSize é inválido declarar assert(+config.analytics.bufferSize > 0, 'config.analytics.bufferSize is invalid');
erro config.analytics.bufferSize não é um número declarar assert(typeof config.analytics.bufferSize === 'number', 'config.analytics.bufferSize is not a number');
erro config.analytics.flushInterval é inválido declarar assert(+config.analytics.flushInterval > 0, 'config.analytics.flushInterval is invalid');
erro config.analytics.flushInterval não é um número declarar assert(typeof config.analytics.flushInterval === 'number', 'config.analytics.flushInterval is not a number');
erro config.analytics.proxy não é "dummy" declarar assert(config.analytics.proxy === 'dummy', 'config.analytics.proxy is not "dummy"');
erro config.analytics.proxy não está definido declarar assert(config.analytics.proxy, 'config.analytics.proxy is not defined');
erro config.analytics.proxy_revision não é um número declarar assert(typeof config.analytics.proxy_revision === 'number', 'config.analytics.proxy_revision is not a number');
erro config.analytics.proxy_revision não está definido declarar assert(config.analytics.proxy_revision, 'config.analytics.proxy_revision is not defined');
erro config.analytics.source não é "microgateway" declarar assert(config.analytics.source === 'microgateway', 'config.analytics.source is not "microgateway"');
erro config.analytics.source não está definido declarar assert(config.analytics.source, 'config.analytics.source is not defined');
erro config.analytics.uri não é uma string declarar assert(typeof config.analytics.uri === 'string', 'config.analytics.uri is not a string');
erro config.analytics.uri não está definido declarar assert(config.analytics.uri, 'config.analytics.uri is not defined');
erro config.apikeys.public_key não está definido declarar assert(typeof config.apikeys.public_key === 'string', 'config.apikeys.public_key is not defined');
erro config.edge_config não está definido declarar assert(config.edge_config, 'config.edge_config is not defined');
erro config.edge_config.bootstrap não está definido declarar assert(config.edge_config.bootstrap, 'config.edge_config.bootstrap is not defined');
erro config.edge_config.jwt_public_key não está definido declarar assert(config.edge_config.jwt_public_key, 'config.edge_config.jwt_public_key is not defined');
erro config.edge_config.proxy precisa ser definido se config.edge_config.proxy_tunnel estiver definido declarar assert(typeof config.edge_config.proxy !== 'undefined', 'config.edge_config.proxy must be defined if config.edge_config.proxy_tunnel is defined');
erro config.edge_config.proxy_tunnel não é um booleano declarar assert(typeof config.edge_config.proxy_tunnel === 'boolean', 'config.edge_config.proxy_tunnel is not a boolean');
erro config.edge_config.refresh_interval não é um número declarar assert(typeof config.edge_config.refresh_interval === 'number', 'config.edge_config.refresh_interval is not a number');
erro config.edge_config.refresh_interval é muito pequeno (mínimo de 1 hora) declarar assert(config.edge_config.refresh_interval >= 3600000, 'config.edge_config.refresh_interval is too small (min 1h)');
erro config.edge_config.retry_interval não é um número declarar assert(typeof config.edge_config.retry_interval === 'number', 'config.edge_config.retry_interval is not a number');
erro config.edge_config.retry_interval é muito pequeno (mínimo de 5 segundos) declarar assert(config.edge_config.retry_interval >= 5000, 'config.edge_config.retry_interval is too small (min 5s)');
erro config.edgemicro não está definido declarar assert(config.edgemicro, 'config.edgemicro is not defined');
erro config.edgemicro.logging não está definido declarar assert(config.edgemicro.logging, 'config.edgemicro.logging is not defined');
erro config.edgemicro.logging.dir não está definido declarar if (!config.edgemicro.logging.to_console) assert(config.edgemicro.logging.dir, 'config.edgemicro.logging.dir is not defined');
erro config.edgemicro.logging.level não está definido declarar assert(config.edgemicro.logging.level, 'config.edgemicro.logging.level is not defined');
erro config.edgemicro.max_connections não é um número declarar assert(typeof config.edgemicro.max_connections === 'number', 'config.edgemicro.max_connections is not a number');
erro config.edgemicro.max_connections não está definido declarar assert(config.edgemicro.max_connections, 'config.edgemicro.max_connections is not defined');
erro config.edgemicro.plugins.sequence não é uma matriz declarar assert(Array.isArray(config.edgemicro.plugins.sequence), 'config.edgemicro.plugins.sequence is not an array');
erro config.edgemicro.port não está definido declarar assert(config.edgemicro.port, 'config.edgemicro.port is not defined');
erro config.oauth.allowInvalidAuthorization não está definido declarar assert(typeof config.oauth.allowInvalidAuthorization === 'boolean', 'config.oauth.allowInvalidAuthorization is not defined');
erro config.oauth.allowNoAuthorization não está definido declarar assert(typeof config.oauth.allowNoAuthorization === 'boolean', 'config.oauth.allowNoAuthorization is not defined');
erro config.oauth.public_key não está definido declarar assert(typeof config.oauth.public_key === 'string', 'config.oauth.public_key is not defined');
erro config.oauthv2.public_key não está definido declarar assert(typeof config.oauthv2.public_key === 'string', 'config.oauthv2.public_key is not defined');
erro config.proxies não está definido declarar assert(config.proxies, 'config.proxies is not defined');
erro config.proxy[ + index + ].base_path não está definido declarar assert(proxy.base_path, 'config.proxy[' + index + '].base_path is not defined');
erro config.proxy[ + index + ].max_connections não é um número declarar assert(typeof proxy.max_connections === 'number', 'config.proxy[' + index + '].max_connections is not a number');
erro config.proxy[ + index + ].max_connections não está definido declarar assert(proxy.max_connections, 'config.proxy[' + index + '].max_connections is not defined');
erro config.proxy[ + index + ].name não está definido declarar assert(proxy.name, 'config.proxy[' + index + '].name is not defined');
erro config.proxy[ + index + ].proxy_name não está definido declarar assert(proxy.target_name, 'config.proxy[' + index + '].proxy_name is not defined');
erro config.proxy[ + index + ].revision não está definido declarar assert(proxy.revision, 'config.proxy[' + index + '].revision is not defined');
erro config.proxy[ + index + ].url não está definido declarar assert(proxy.url, 'config.proxy[' + index + '].url is not defined');
erro config.quota.allow não é um número declarar assert(typeof config.quota.allow === 'number', 'config.quota.allow is not a number');
erro config.quota.allow não está definido declarar assert(config.quota.allow, 'config.quota.allow is not defined');
erro config.quota.interval não é um número declarar assert(typeof config.quota.interval === 'number', 'config.quota.interval is not a number');
erro config.quota.interval não está definido declarar assert(config.quota.interval, 'config.quota.interval is not defined');
erro config.spikearrest não está definido declarar assert(config.spikearrest, 'config.spikearrest is not defined');
erro config.spikearrest.allow é inválido declarar assert(+config.spikearrest.allow > 0, 'config.spikearrest.allow is invalid');
erro config.spikearrest.allow não é um número declarar assert(typeof config.spikearrest.allow === 'number', 'config.spikearrest.allow is not a number');
erro config.spikearrest.allow não está definido declarar assert(config.spikearrest.allow, 'config.spikearrest.allow is not defined');
erro config.spikearrest.bufferSize é inválido declarar assert(+config.spikearrest.bufferSize > 0, 'config.spikearrest.bufferSize is invalid');
erro config.spikearrest.bufferSize não é um número declarar assert(typeof config.spikearrest.bufferSize === 'number', 'config.spikearrest.bufferSize is not a number');
erro config.spikearrest.timeUnit não está definido declarar assert(config.spikearrest.timeUnit, 'config.spikearrest.timeUnit is not defined');
erro ERRO CRÍTICO: erro ao analisar a lista de produtos baixados callback
erro ERRO CRÍTICO: erro ao analisar a lista de proxies baixada callback
erro ERRO DE CONFIGURAÇÃO INCORRETA DO PRODUTO DETECTADO console.error Seguido por console.warn('using old cached configuration');
erro erro ao ler a configuração de lança Arquivo yaml de configuração
erro erro ao salvar a configuração em callback Arquivo yaml de configuração
erro fatal: cached config not available, unable to continue callback
erro interval_message declarar assert(+config.quota.interval > 0, interval_message);
erro protocolo inválido para config.edge_config.proxy (esperado http: ou 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);
erro host de proxy inválido para config.edge_config.proxy declarar assert(proxy_url.hostname, 'invalid proxy host for config.edge_config.proxy: ' + proxy_url.hostname);
erro Parece que o Edge Micro não foi configurado. Consulte o guia do administrador. callback Resultado: falha ao carregar a configuração
erro A chave está em branco. declarar assert(keys.key, 'key is missing');
erro precisa ter configDir declarar assert(configDir, 'must have configDir')
erro deve ter opções declarar assert(options, 'must have options');
erro precisa ter origem declarar assert(source, 'must have source')
erro precisa ter uma origem para carregar declarar assert(options.source, 'must have source to load from')
erro must have targetFile declarar assert(fileName, 'must have targetFile')
erro as opções não podem ser nulas declarar assert(options, 'options cannot be null');
erro options.keys não pode ser nulo declarar assert(options.keys, 'options.keys cannot be null');
erro port_message declarar assert(+config.edgemicro.port < 65536, port_message);
erro "products" precisa ser uma matriz declarar assert(Array.isArray(products), 'products should be an array');
erro 'proxies for product ' + product + ' should be an array' declarar assert(Array.isArray(product.proxies), 'proxies for product ' + product + ' should be an array');
erro o secret está ausente declarar assert(keys.secret, 'secret is missing');
erro o destino não está definido declarar assert(target, 'target is not set');
warn Erro ao fazer o download da configuração. Verifique a configuração de bootstrap. console.warn
warn falha ao baixar jwt_public_key console.warn
warn As chaves JWK não estão ativadas console.warn
warn message, 'download from', url, 'returned' console.warn Search for: (.*)\sdownload from\s(.*)\sreturned
warn nenhum microproduto de borda encontrado na resposta console.warn
warn Nenhum microproxy de borda encontrado na organização console.warn
warn Nenhum microproxy de borda encontrado na resposta console.warn
warn Nenhum produto encontrado na organização console.warn
warn nenhum produto encontrado na resposta console.warn
warn usando a configuração antiga armazenada em cache console.warn

módulo microgateway-plugins

erro A configuração não existe lança Relacionado ao arquivo YAML
erro apikey Resposta HTTP Falhas no plug-in apiky
erro bauth Resposta HTTP Falhas no plug-in bauth
erro extauth Resposta HTTP Falhas no plug-in extauth
erro Oauth Resposta HTTP Falhas no plug-in OAuth
warn Ocorreu um erro ao processar a análise do Apigee. Permitir que o processamento da solicitação continue logger.error
warn ignorar err console.warn Plug-ins apikeys, oauth e oauthv2
warn erro ao analisar o JWT: console.warn
warn O objeto de resposta do OAuth não tem setHeader console.warn O erro de parâmetro oauth indica que alguns erros não serão informados.
warn O objeto de resposta do OAuth não é fornecido pelo ambiente de execução console.warn Erro no parâmetro oauth
warn O objeto de estatísticas do OAuth não é fornecido pelo ambiente de execução. console.warn Erro no parâmetro oauth

Móduloapigeetool-node

erro A exclusão do cache falhou com o código de status %d', res.statusCode callback Gerado em deletecache.js. Código de status do Apigee Edge. Transmite para o callback um erro de stack trace com esta mensagem: done(new Error(errMsg));
erro A exclusão do produto falhou com o código de status %d', res.statusCode callback Gerado em deleteproduct.js. Código de status do Apigee Edge. Transmite para o callback um erro de stack trace com esta mensagem: done(new Error(errMsg));
erro org, api e revision precisam ser especificados. callback Gerado em fetchproxy.js. Erro de configuração.
erro Recebeu o erro %d ao buscar o proxy: %j callback Gerado em fetchproxy.js. Código de status diferente de 200.
erro Falha ao criar o app com o código de status %d callback Gerado em createapp.js. Transmite todos os erros de volta para callbacks como erros de rastreamento de pilha. Não faz impressões no console nem entradas de registro.
erro command + ' failed with status code %d callback Gerado em command-utils.js. Para qualquer comando analisado e transmitido a esse módulo, qualquer código que não seja 200 ou 201 vai gerar uma mensagem de erro. Formata esta mensagem, mas não a imprime. Transmite um erro de rastreamento de pilha com a mensagem de volta para os callbacks.
erro Recebi o erro %d ao buscar o fluxo compartilhado: %s callback Gerado em fetchsharedflow.js. Para qualquer status HTTP que não seja 200. Se a operação for concluída, mas não for possível gravar um arquivo, o seguinte será gravado no console:
Falha ao gravar o arquivo
Texto do erro: [stack_trace_error]
erro Falha ao criar KeySecret com o código de status %d', res.statusCode callback Gerado em createappkey.js. Para códigos de status HTTP do Apigee Edge que não são 200 ou 201.
erro Create Cache failed with status code %d', res.statusCode callback Gerado em createcache.js. Para códigos de status HTTP do Apigee Edge que não são 200 ou 201.
erro Create Product failed with status code %d', res.statusCode callback Gerado em createproduct.js. Para códigos de status HTTP do Apigee Edge que não são 201. Se o status HTTP for 201, mas a resposta incluir JSON de erro, ele será encaminhado para o callback.
erro A exclusão do app falhou com o código de status %d', res.statusCode callback Gerado em deleteapp.js. Para códigos de status HTTP do Apigee Edge que não são 200. Se o status HTTP for 200, mas a resposta incluir um JSON de erro, ele será encaminhado para o callback.
erro Create Developer failed with status code %d', res.statusCode callback Gerado em createdeveloper.js. Para códigos de status HTTP do Apigee Edge que não são 201. Se o status HTTP for 201, mas a resposta incluir JSON de erro, ele será encaminhado para o callback.
erro Delete Developer failed with status code %d', res.statusCode callback Gerado em deletedeveloper.js. Para códigos de status HTTP do Apigee Edge que não são 200. Se o status HTTP for 200, mas a resposta incluir um JSON de erro, ele será encaminhado para o callback.

Erros de plug-in

accesscontrol plug-in

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

Error Message HTTP status Possible Causes
Not printed Forbidden 403 Access control rule

accumulate-request plug-in

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

No errors generated.

accumulate-resopnse plug-in

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

No errors generated.

analytics plug-in

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

Errors encountered processing Apigee analytics are written to the Edge Microgateway log. Edge Microgateway processing continues.

apikeys plug-in

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

Error Message HTTP status Possible Causes
invalid_request Invalid Request 400 allowNoAuthorization == false

No Authorization header in the HTTP request

allowOAuthOnly == true

invalid_request API Key Verification URL not configured 400 Verification API service not in header.
access_denied Copy service message 403 In response to the auth service timeout
missing_authorization Missing API Key header 401 allowAPIKeyOnly == true

Unless allowInvalidAuthorization

invalid_authorization Invalid Authorization header 401 allowOAuthOnly == true

Authorization-header not in HTTP

gateway_timeout Copy service message 504 In response to the auth timeout
default 500 All other not categorized

bauth plug-in

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

Error Message HTTP status Possible Causes
missing_authorization Missing API Key header 401 allowAPIKeyOnly == true

Unless allowInvalidAuthorization

invalid_authorization Invalid Authorization header 401 allowOAuthOnly == true

Authorization-header not in HTTP

gateway_timeout Copy service message 504 In response to the auth timeout
default 500 All other not categorized

cloud-foundry-route-service plug-in

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

No errors generated.

cors plug-in

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

No errors generated.

eurekaclient plug-in

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

The eurekaclient plug-in throws a few console errors only, including a stack trace error on failed start and a warning about the target endpoint from Eureka not found.

extauth plug-in

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

Error Message HTTP status Possible Causes
invalid_request Invalid Request 400 allowNoAuthorization == false

No Authorization header in the HTTP request

allowOAuthOnly == true

invalid_request API Key Verification URL not configured 400 Verification API service not in header.
access_denied Copy service message 403 In response to the auth service timeout
missing_authorization Missing API Key header 401 allowAPIKeyOnly == true

Unless allowInvalidAuthorization

invalid_authorization Invalid Authorization header 401 allowOAuthOnly == true

Authorization-header not in HTTP

gateway_timeout Copy service message 504 In response to the auth timeout
default 500 All other not categorized

header-uppercase plug-in

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

No errors generated.

healthcheck plug-in

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

Error Message HTTP status Possible Causes
503 Too busy. No messages in HTTP or console
default Application is not running on specified application port 500 All other not categorized

invalidHeader plug-in

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

No errors generated.

json2xml plug-in

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

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.