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.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| default | 500 | All other not categorized |
monitor plug-in
This section describes the error codes and messages that are returned by the
monitor plug-in with descriptions of possible causes.
No errors generated.
oauth plug-in (v1)
This section describes the error codes and messages that are returned by the
oauth plug-in (v1) with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_request | Invalid Authorization Header | 400 |
|
| invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
| Access_denied | Copy service message | 403 | In response to the auth service timeout |
| invalid_token | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization is set |
| invalid_token | token could not be parsed | 401 | allowAPIKeyOnly == true
Bad token delivered |
| missing_authorization | Missing Authorization header | 401 | allowNoAuthorization == false
Authorization-header in HTTP allowOAuthOnly == true |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other uncategorized responses |
oauthv2 plug-in
This section describes the error codes and messages that are returned by the
oauthv2 plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_request | Invalid Authorization Header | 400 |
|
| invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header |
| access_denied | Copy service message | 403 | In response to the auth service timeout |
| invalid_token | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization is set |
| invalid_token | token could not be parsed | 401 | allowAPIKeyOnly == true
Bad token delivered |
| missing_authorization | Missing Authorization header | 401 | allowNoAuthorization == false
Authorization-header in HTTP allowOAuthOnly == true |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other uncategorized responses |
quota plug-in
This section describes the error codes and messages that are returned by the
quota plug-in with descriptions of possible causes.
Defers to volos quota/apigee.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Not authorized to call the remote proxy. Check the "key" parameter. | 404 | In response to the auth timeout |
| default | 500 | All other not categorized | |
| throw | uri parameter must be specified | apigeequota.js | |
| throw | key parameter must be specified | apigeequota.js | |
| callback | Apigee Remote Proxy not found at: ' + self.uri + '. Check your configuration | apigeequota.js | |
| callback | HTTP error getting proxy version: %d. Check the "uri" parameter. | apigeequota.js | |
| callback | Quotas with a fixed starting time are not supported | apigeequota.js | |
| callback | Error updating remote quota: %d %s', resp.statusCode, body | apigeequota.js |
If there is an error on an entry in the product list, the product list will stop being processed.
quota-memory plug-in
This section describes the error codes and messages that are returned by the
quota-memory plug-in with descriptions of possible causes.
Defers to volos quota/apigee.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Not authorized to call the remote proxy. Check the "key" parameter. | 404 | In response to the auth timeout |
| default | 500 | All other not categorized | |
| throw | start time not allowed for month time units | quota.js. volos error on time format. | |
| throw | Invalid start time %s | quota.js. volos error on time format. | |
| throw | Invalid timeUnit %s | quota.js. volos error on time format. |
If there is an error on an entry in the product list, the product list will stop being processed.
spikearrest plug-in
This section describes the error codes and messages that are returned by the
spikearrest plug-in with descriptions of possible causes.
Defers to volos spikearrest/memory.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| SpikeArrest engaged | 503 | Traffic spike. This is expected behavior. | |
| throw | Invalid timeUnit %s | spikearrest.js | |
| callback | key must be a string | spikearrest.js | |
| throw | %s must be a number', name | spikearrest.js |
transform-uppercase plug-in
This section describes the error codes and messages that are returned by the
transform-uppercase plug-in with descriptions of possible causes.
No errors generated.