Referência de erros do Edge Microgateway

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

Este tópico descreve os erros e avisos que você pode encontrar com o Edge Microgateway.

Erros gerais do aplicativo

  • HTTP 500, failed in error handler: a maioria dos erros terá esse número, assim como alguns erros retornados de destinos. Especificamente, errors-middleware.js é usado em todo o módulo microgateway-core. Quando usado, ele grava os 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, errors-middleware.js reescreve o statusCode para 500 para retorno ao cliente.

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

Erros e avisos do módulo

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

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

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

Módulo de microgateway

erro org é obrigatório declarar assert(options.org,"org is required");
erro O 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 org é obrigatório declarar assert(options.org,"org is required");
erro O 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 org é obrigatório declarar assert(options.org,"org is required");
erro O env é obrigatório declarar assert(options.env,"env is required")
erro org é obrigatório declarar assert(options.org,"org is required");
erro O 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 org é obrigatório declarar assert(options.org, 'org is required');
erro O 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(chave, '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 org é obrigatório declarar assert(options.org, 'org is required');
erro O env é obrigatório declarar assert(options.env, 'env is required');
erro O runtimeUrl é obrigatório. declarar assert(options.runtimeUrl, 'runtimeUrl is required');
erro O mgmtUrl é obrigatório declarar assert(options.mgmtUrl, 'mgmtUrl é obrigatório');
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 O diretório de plug-ins não existe: + pluginDir declarar assert(fs.existsSync(pluginDir), 'plugin dir does not exist: ' + pluginDir);
erro O diretório de plug-ins não é um diretório: + pluginDir declarar assert(stat.isDirectory(), 'plugin dir is not a directory: ' + pluginDir);
erro error reading plugin dir: + 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(chave, '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 Tentar substituir um arquivo .sock
erro Falha ao verificar se há 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, talvez seja devido ao desligamento incorreto da inicialização anterior. console.error
erro %s ausente, execute console.error Missing (.*), Please run
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 começar de novo" console.error
erro "cache configuration" + cache + " does not exist. exiting." console.error
erro O arquivo de configuração não pôde ser gravado: console.error A configuração vai falhar.
erro O arquivo de configuração não foi transferido: 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 O env é obrigatório. console.error Variáveis de ambiente necessárias para a 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 Erro ao verificar o certificado. Instalando um novo certificado. console.error A chave pública não pode ser usada
erro error retrieving region for org console.error key-gen.js, cert-lib.js e private.js
erro Erro ao fazer upload de credenciais console.error Não é possível sincronizar a chave pública com o Edge
erro com falha console.error key-gen.js
erro Falha ao inicializar o arquivo configpath %s console.error A configuração não está carregando
erro resposta inválida da API da região console.error key-gen.js, cert-lib.js e private.js
erro A chave é obrigatória. console.error Parâmetro
erro org é obrigatório 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 O protocolo de URL não é compatível: console.error As informações de configuração indicam um protocolo de Internet que não está no escopo do Edge Microgateway
erro Caso negativo de verificação de análise: FALHA console.error Possível falha/erro
erro Verificação de análises com payload: FALHA console.error Possível falha/erro
erro Verificação da disponibilidade do URL de inicialização:FALHA console.error Possível falha/erro
erro Verificação da disponibilidade de jwt_public_key: FALHA console.error Possível falha/erro
erro Verificação da disponibilidade dos produtos: FALHA console.error Possível falha/erro
erro Verificação da cota com produtos configurados: FALHA console.error Possível falha/erro
warn Falha ao recuperar a configuração do gateway. Continuando, tentará a cópia em cache. console.error
warn O KVM já existe na sua organização console.log
warn já está implantado console.log
warn O plug-in sequencial não foi encontrado: console.warn
warn pluginDir %s não existe console.log pluginDir (.*) não existe

Módulo microgateway-core

erro config not initialized declarar assert(config, 'config not initialized')
erro precisa ter uma configuração declarar assert(config, ' must have a config')
erro precisa ter config declarar assert(config, 'must have config')
erro A configuração precisa ter um uid declarar assert(config.uid, 'config must have uid');
erro config.edgemicro.logging precisa estar na 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 de plug-in inválidos + nome declarar assert(_.isObject(middleware), 'ignoring invalid plugin handlers ' + name);
erro options precisa conter config 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(chave, '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 Falha no gerenciador de erros callback Função HTTP server.on()
erro O tamanho do cabeçalho é maior do que o 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 gerenciador gerou uma exceção. callback Capturar erro do plug-in (catch)
erro error starting edge micro callback O Edge Microgateway não é iniciado
erro O plug-in precisa ser uma função. lança
warn console.error alerta Registro de escrita
warn Erro de targetRequest invocar o tratamento de erros de destino Erro do cliente HTTP na conexão com o destino
warn Erro de targetResponse invocar o tratamento de erros de destino Erro do servidor de destino HTTP na conexão com o destino, conforme visto no cliente

Módulo microgateway-config

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á vazia lança Arquivo yaml de configuração
erro config não é um arquivo lança Arquivo yaml de configuração
erro A configuração não está definida. 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 FATAL: erro ao analisar a lista de produtos baixados callback
erro ERRO FATAL: erro ao analisar a lista de proxies transferidos por download callback
erro DETECTED PRODUCT MISCONFIGURATION ERROR 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 micro do Edge 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 opções obrigatórias 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 precisa ter 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 Os produtos precisam ser uma matriz declarar assert(Array.isArray(products), 'products should be an array');
erro "Os proxies para o produto ' + produto + ' precisam ser uma matriz' declarar assert(Array.isArray(product.proxies), 'proxies for product ' + product + ' should be an array');
erro secret está ausente declarar assert(keys.secret, 'secret is missing');
erro target 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 inicialização. console.warn
warn Falha ao fazer o download de jwt_public_key console.warn
warn As chaves jwk não estão ativadas console.warn
warn message, 'download from', url, 'returned' console.warn Pesquisar: (.*)\sdownload from\s(.*)\sreturned
warn Nenhum microproduto de borda encontrado na resposta console.warn
warn Nenhum microproxy de borda foi encontrado na organização console.warn
warn Nenhum microproxy de borda foi 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 do OAuth
warn Ocorreu um erro ao processar as análises da Apigee. Como permitir que o processamento da solicitação continue logger.error
warn ignorando o erro console.warn plug-ins apikeys, oauth e oauthv2
warn Erro ao analisar o JWT: console.warn
warn O objeto de resposta do oath 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 oath não é fornecido pelo ambiente de execução console.warn Erro no parâmetro OAuth
warn O objeto de estatísticas de oath não é fornecido pelo ambiente de execução. console.warn Erro no parâmetro OAuth

Módulo apigeetool-node

erro Falha na exclusão do cache com o código de status %d', res.statusCode callback Lançado em deletecache.js. Código de status do Apigee Edge. Transmite um erro de stack trace para o callback com esta mensagem: done(new Error(errMsg));
erro Falha ao excluir o produto com o código de status %d', res.statusCode callback Lançada em deleteproduct.js. Código de status do Apigee Edge. Transmite um erro de stack trace para o callback com esta mensagem: done(new Error(errMsg));
erro org, api e revisão precisam ser especificados. callback Lançado em fetchproxy.js. Erro de configuração.
erro Recebemos o erro %d ao buscar o proxy: %j callback Lançado em fetchproxy.js. Código de status diferente de 200.
erro Falha ao criar o app com o código de status %d callback Lançado em createapp.js. Transmite todos os erros de volta aos callbacks como erros de stack trace. Não faz impressões de console ou entradas de registro.
erro command + ' falhou com o código de status %d callback Lançado em command-utils.js. Para qualquer comando analisado e transmitido para 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 stack trace com a mensagem de volta aos callbacks.
erro Recebemos o erro %d ao buscar o fluxo compartilhado: %s callback Lançado em fetchsharedflow.js. Para qualquer status HTTP que não seja 200. Se ele for bem-sucedido, mas não conseguir gravar um arquivo, ele será gravado no console:
Falha ao gravar o arquivo
Texto de erro: [stack_trace_error]
erro Falha ao criar KeySecret com o código de status %d', res.statusCode callback Lançado em createappkey.js. Para códigos de status HTTP do Apigee Edge que não sejam 200 ou 201.
erro Falha ao criar o cache com o código de status %d', res.statusCode callback Lançado em createcache.js. Para códigos de status HTTP do Apigee Edge que não sejam 200 ou 201.
erro Falha ao criar o produto com o código de status %d', res.statusCode callback Lançado 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, o JSON de erro será encaminhado para o callback.
erro Delete App failed with status code %d', res.statusCode callback Lançado 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 JSON de erro, o JSON de erro será encaminhado para o callback.
erro Falha na criação do desenvolvedor com o código de status %d', res.statusCode callback Lançado 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, o JSON de erro 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 JSON de erro, o JSON de erro 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.