Referência de erros do Edge Microgateway

Você está vendo a documentação do Apigee Edge.
Consulte a documentação do Apigee X.

Neste tópico, descrevemos erros e avisos que você pode encontrar com o Edge Microgateway.

Erros gerais de aplicativos

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

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

Erros e avisos do módulo

Use essas informações para configurar alertas que ajudem a monitorar e gerenciar a 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 tratados no Edge Microgateway.

  • assert: normalmente, o Edge Microgateway será interrompido quando uma avaliação assert falhar. No entanto, isso nem sempre é o caso, já que "asserts" gera exceções que podem ser capturadas.
  • throws: possível interrupção no sistema.
  • callback: o erro é transmitido para um callback e o sistema pode continuar.
Tipo A mensagem Handler Observações

Módulo de microgateway

error org é obrigatório declarar assert(options.org,"org é necessário");
error env é obrigatório declarar assert(options.env,"env é necessário")
error o nome de usuário é obrigatório declarar assert(options.username || options.token,"nome de usuário é necessário");
error a senha é obrigatória declarar assert(options.password || options.token,"senha é obrigatória")
error org é obrigatório declarar assert(options.org,"org é necessário");
error env é obrigatório declarar assert(options.env,"env é necessário")
error o nome de usuário é obrigatório declarar assert(options.username || options.token,"nome de usuário é necessário");
error a senha é obrigatória declarar assert(options.password || options.token,"senha é obrigatória")
error org é obrigatório declarar assert(options.org,"org é necessário");
error env é obrigatório declarar assert(options.env,"env é necessário")
error org é obrigatório declarar assert(options.org,"org é necessário");
error env é obrigatório declarar assert(options.env,"env é necessário")
error o nome de usuário é obrigatório declarar assert(options.username, 'nome de usuário é obrigatório');
error a senha é obrigatória declarar assert(options.password, 'senha é obrigatória');
error org é obrigatório declarar assert(options.org, 'org é obrigatório');
error env é obrigatório declarar assert(options.env, 'env é obrigatório');
error precisa ter um arquivo de destino atribuído declarar assert(targetFile, 'deve ter um arquivo de destino atribuído')
error precisa ter uma chave declarar assert(key, 'must have a key');
error precisa ter um secret declarar assert(secret, 'dev ter um segredo');
error o dir precisa ser configurado declarar assert(dir, 'dir deve ser configurado')
error o retorno de chamada deve estar presente declarar assert(callback, 'callback must be present')
error o nome de usuário é obrigatório declarar assert(options.username, 'nome de usuário é obrigatório');
error a senha é obrigatória declarar assert(options.password, 'senha é obrigatória');
error org é obrigatório declarar assert(options.org, 'org é obrigatório');
error env é obrigatório declarar assert(options.env, 'env é obrigatório');
error runtimeUrl é obrigatório declarar assert(options.runtimeUrl, 'runtimeUrl is required');
error O mgmtUrl é obrigatório declarar assert(options.mgmtUrl, 'mgmtUrl é necessário');
error o arquivo é obrigatório declarar assert(options.file,"arquivo é necessário")
error deve ter segmentação declarar assert(options.target, 'deve ter destino');
error plug-ins não configurados declarar assert(config.edgemicro.plugins, 'plugins não configurados');
error O diretório do plug-in não existe: + pluginDir declarar assert(fs.existsSync(pluginDir), 'plug dir does not exist: ' + pluginDir);
error plugin dir não é um diretório: + pluginDir declarar assert(stat.isDirectory(), 'plugin dir is not a directory: ' + pluginDir);
error erro ao ler plug-in dir: + pluginDir declarar assert(dirs, 'error read plugin dir: ' + pluginDir);
error deve ter um token declarar assert(token, 'must have a token');
error O campo "pathpath" não pode estar em branco declarar assert(config, 'configpath cant be empty');
error precisa ter EDGEMICRO_KEY declarar assert(key, 'dev ter EDGEMICRO_KEY');
error precisa ter EDGEMICRO_SECRET declarar assert(secret, 'dev ter EDGEMICRO_SECRET');
error a configuração não existe lança relacionados ao arquivo yaml
error edgemicro parece já estar em execução. console.error tentando substituir um arquivo .sock
error Falha ao verificar alterações na configuração. Tentaremos novamente após console.error problema com a comunicação na borda
error Se o servidor não estiver em execução, pode ser devido ao encerramento incorreto do início anterior. console.error
error Falta %s, execute console.error Falta (.*), execute
error Falha ao atualizar edgemicro console.error nível de comando
error Falha na interrupção do edgemicro console.error Nível de comando
error "Tente remover ' + ipcPath + ' e comece novamente' console.error
error 'configuração de cache ' + cache + ' não existe. saindo.' console.error
error Não foi possível gravar o arquivo de configuração: console.error A configuração falhará
error Não foi possível fazer o download do arquivo de configuração: console.error A configuração falhará
error Falha ao iniciar o Micro Edge console.error Não deve estar em execução
error Edgemicro não está em execução. console.error Processo de verificação que não deve ser listado
error env é obrigatório console.error Variáveis de ambiente necessárias para execução
error error - editando apiproxy Callout.xml console.error Acesso ao arquivo
error error - editando apiproxy default.xml console.error Acesso ao arquivo
error erro ao verificar o certificado. Instalando novo certificado. console.error Não é possível usar a chave pública
error erro ao recuperar a região da organização console.error key-gen.js, cert-lib.js e private.js
error erro ao fazer o upload de credenciais console.error Não é possível sincronizar a chave pública com o Edge
error com falha console.error key-gen.js
error falha ao iniciar o arquivo de configuração %s console.error A configuração não está carregando
error resposta inválida da api region console.error key-gen.js, cert-lib.js e private.js
error A chave é obrigatória. console.error Parâmetro
error org é obrigatório console.error Parâmetro
error porta não está disponível. console.error Parâmetro
error o secret é obrigatório console.error Parâmetro
error protocolo de URL incompatível: console.error As informações de configuração indicam um protocolo de Internet que não está no escopo do Edge Microgateway
error verificação de caso negativo do Google Analytics: FAIL console.error Possível falha/falha
error verificação de análises com payload: FAIL console.error Possível falha/falha
error verificação da disponibilidade do URL de inicialização:FAIL console.error Possível falha/falha
error verificando a disponibilidade de jwt_public_key: FAIL console.error Possível falha/falha
error verificação da disponibilidade dos produtos: FAIL console.error Possível falha/falha
error verificação de cota com produtos configurados: FAIL console.error Possível falha/falha
warn falha ao recuperar a configuração do gateway. Continuar, tentará copiar em cache. console.error
warn A KVM já existe na sua organização console.log
warn já foi implantado console.log
warn plug-in sequenciado não encontrado: console.warn
warn %s do pluginDir não existe console.log O pluginDir (.*) não existe.

Módulo microgateway-core

error configuração não inicializada declarar assert(config, 'config not inicializado')
error deve ter um config declarar assert(config, ' deve ter um config')
error deve ter config declarar assert(config, 'must have config')
error a configuração deve ter uid declarar assert(config.uid, 'config must have uid');
error deve ter config.edgemicro.logging na configuração declarar assert(logConfig, 'precisa ter config.edgemicro.logging em config');
error deve ter um método de solicitação declarar assert(httpLibrary.request, 'deve ter um método de solicitação');
error precisa ter o plug-in carregado na memória declarar assert(options.plugin, "precisa ter plug-in carregado na memória");
error "init" precisa ser uma função declarar assert(_.isFunction(options.plugin.init), "init deve ser uma função";
error precisa ter um nome de plug-in declarar assert(options.pluginName, "precisa ter nome de plug-in");
error ignorando gerenciadores de plug-ins inválidos + nome declarar assert(_.isObject(middleware), 'ignorando gerenciadores de plug-ins inválidos ' + name);
error as opções precisam conter config declarar assert(config, 'options must contain config')
error o plug-in deve ter um nome declarar assert(name,"plugin precisa ter um nome")
error o nome deve ser uma string declarar assert(_.isString(name),"name precisa ser uma string");
error o plug-in deve ser uma função declarar assert(_.isFunction(plugin),"o plug-in precisa ser uma função(config,logger,stats){retornar {onresponse:function(req,res,data,next){}}}");
error precisa ter uma chave declarar assert(key, 'must have a key');
error precisa ter um secret declarar assert(secret, 'dev ter um segredo');
error precisa ter um diretório de configuração de origem declarar assert(source, 'precisa ter um diretório de configuração de origem');
error erro ao carregar plug-in console.error Plug-in não carregado
error falha no gerenciador de erros callback Função HTTP.on() do servidor
error comprimento do cabeçalho maior que o tamanho permitido Erro HTTP Não executa o plug-in
error resposta concluída antes que o trabalho possa ser feito logger.erro O plug-in desejado não é executado
error gerenciador gerou uma exceção callback Capturar erro de plug-in (captura)
error erro ao iniciar micro borda callback O Edge Microgateway não inicia
error o plug-in deve ser uma função lança
warn console.error avisa Gravação de registros
warn Erro de targetRequest invocar manipulação de erro de destino Erro de cliente HTTP em conexão com o destino
warn Erro de targetResponse invocar manipulação de erro de destino Erro de servidor de destino HTTP em conexão com o destino, como visto no cliente

Módulo microgateway-config

error mensagem_de_permissão declarar assert(+config.quota.allow > 0, allow_message);
error a configuração não existe lança Arquivo yaml de configuração
error A configuração está vazia lança Arquivo yaml de configuração
error config não é um arquivo lança Arquivo yaml de configuração
error não foi definida declarar assert(config, 'config is not defined');
error config.analytics.batchSize é inválido declarar assert(+config.analytics.batchSize > 0, 'config.analytics.batchSize é inválido');
error config.analytics.batchSize não é um número declarar assert(typeof config.analytics.batchSize === 'number', 'config.analytics.batchSize não é um número');
error config.analytics.bufferSize é inválido declarar assert(+config.analytics.bufferSize > 0, 'config.analytics.bufferSize é inválido');
error config.analytics.bufferSize não é um número declarar assert(typeof config.analytics.bufferSize === 'number', 'config.analytics.bufferSize não é um número');
error config.analytics.flushInterval é inválido declarar assert(+config.analytics.flushInterval > 0, 'config.analytics.flushInterval é inválido');
error config.analytics.flushInterval não é um número declarar assert(typeof config.analytics.flushInterval === 'number', 'config.analytics.flushInterval is not a number');
error config.analytics.proxy não é "fictício" declarar assert(config.analytics.proxy === 'dummy', 'config.analytics.proxy não é 'dummy'');
error config.analytics.proxy não está definido declarar assert(config.analytics.proxy, 'config.analytics.proxy não está definido');
error 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');
error config.analytics.proxy_revision não está definido declarar assert(config.analytics.proxy_revision, 'config.analytics.proxy_revision não está definido');
error config.analytics.source não é "microgateway" declarar assert(config.analytics.source === 'microgateway', 'config.analytics.source não é "microgateway"');
error config.analytics.source não está definido declarar assert(config.analytics.source, 'config.analytics.source não está definido');
error config.analytics.uri não é uma string. declarar assert(typeof config.analytics.uri === 'string', 'config.analytics.uri não é uma string');
error config.analytics.uri não está definido declarar assert(config.analytics.uri, 'config.analytics.uri não está definido');
error config.apikeys.public_key não está definido declarar assert(typeof config.apikeys.public_key === 'string', 'config.apikeys.public_key não está definido');
error config.edge_config não está definido declarar assert(config.edge_config, 'config.edge_config não está definido');
error config.edge_config.bootstrap não está definido declarar assert(config.edge_config.bootstrap, 'config.edge_config.bootstrap is not defined');
error config.edge_config.jwt_public_key não está definido declarar assert(config.edge_config.jwt_public_key, 'config.edge_config.jwt_public_key não está definido');
error config.edge_config.proxy precisa ser definido se config.edge_config.proxy_tunnel declarar assert(typeof config.edge_config.proxy !== 'undefined', 'config.edge_config.proxy deve ser definido se config.edge_config.proxy_tunnel estiver definido');
error config.edge_config.proxy_tunnel não é um booleano declarar assert(typeof config.edge_config.proxy_tunnel === 'boolean', 'config.edge_config.proxy_tunnel não é um booleano');
error config.edge_config.refresh_interval não é um número declarar assert(typeof config.edge_config.refresh_interval === 'number', 'config.edge_config.refresh_interval não é um número');
error config.edge_config.refresh_interval é muito pequeno (mín. 1h) declarar assert(config.edge_config.refresh_interval >= 3600000, 'config.edge_config.refresh_interval é muito pequeno (mín. 1h)');
error config.edge_config.retry_interval não é um número declarar assert(typeof config.edge_config.retry_interval === 'number', 'config.edge_config.retry_interval não é um número');
error config.edge_config.retry_interval é muito pequeno (mínimo de 5 segundos) declarar assert(config.edge_config.retry_interval >= 5.000, 'config.edge_config.retry_interval é muito pequeno (mín. 5s)');
error config.edgemicro não está definido declarar assert(config.edgemicro, 'config.edgemicro não está definido');
error config.edgemicro.logging não está definido declarar assert(config.edgemicro.logging, 'config.edgemicro.logging is not defined');
error config.edgemicro.logging.dir não está definido declarar if (!config.edgemicro.logging.to_console) assert(config.edgemicro.logging.dir, 'config.edgemicro.logging.dir não está definido');
error config.edgemicro.logging.level não está definido declarar assert(config.edgemicro.logging.level, 'config.edgemicro.logging.level não está definido');
error 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');
error config.edgemicro.max_connections não está definido declarar assert(config.edgemicro.max_connections, 'config.edgemicro.max_connections não está definido');
error config.edgemicro.plugins.sequence não é uma matriz declarar assert(Array.isArray(config.edgemicro.plugins.sequence), 'config.edgemicro.plugins.sequence não é uma matriz');
error config.edgemicro.port não está definido declarar assert(config.edgemicro.port, 'config.edgemicro.port não está definido');
error config.oauth.allowInvalidAuthorization não está definido declarar assert(typeof config.oauth.allowInvalidAuthorization === 'boolean', 'config.oauth.allowInvalidAuthorization não está definido');
error config.oauth.allowNoAuthorization não está definido declarar assert(typeof config.oauth.allowNoAuthorization === 'boolean', 'config.oauth.allowNoAuthorization não está definido');
error config.oauth.public_key não foi definido declarar assert(typeof config.oauth.public_key === 'string', 'config.oauth.public_key não está definido');
error config.oauthv2.public_key não está definido declarar assert(typeof config.oauthv2.public_key === 'string', 'config.oauthv2.public_key não está definido');
error config.proxies não está definido declarar assert(config.proxies, 'config.proxies is not defined');
error config.proxy[ + índice + ].base_path não foi definido declarar assert(proxy.base_path, 'config.proxy[' + index + '].base_path não está definido');
error config.proxy[ + índice + ].max_connections não é um número declarar assert(typeof proxy.max_connections === 'number', 'config.proxy[' + index + '].max_connections is not a number');
error config.proxy[ + índice + ].max_connections não está definido declarar assert(proxy.max_connections, 'config.proxy[' + index + '].max_connections não está definido');
error config.proxy[ + índice + ].name não está definido declarar assert(proxy.name, 'config.proxy[' + index + '].name não está definido');
error config.proxy[ + índice + ].nome_proxy não está definido declarar assert(proxy.target_name, 'config.proxy[' + index + '].proxy_name não está definido');
error config.proxy[ + índice + ].revision não está definido declarar assert(proxy.revision, 'config.proxy[' + index + '].revision não está definido');
error config.proxy[ + índice + ].url não está definido declarar assert(proxy.url, 'config.proxy[' + index + '].url não está definido');
error config.quota.allow não é um número declarar assert(typeof config.quota.allow === 'number', 'config.quota.allow is not a number');
error config.quota.allow não está definido declarar assert(config.quota.allow, 'config.quota.allow não está definido');
error config.quota.interval não é um número declarar assert(typeof config.quota.interval === 'number', 'config.quota.interval não é um número');
error config.quota.interval não foi definido declarar assert(config.quota.interval, 'config.quota.interval não está definido');
error config.spikearrest não está definido declarar assert(config.spikearrest, 'config.spikearrest não está definido');
error config.spikearrest.allow é inválido declarar assert(+config.spikearrest.allow > 0, 'config.spikearrest.allow é inválido');
error config.spikearrest.allow não é um número declarar assert(typeof config.spikearrest.allow === 'number', 'config.spikearrest.allow is not a number');
error config.spikearrest.allow não está definido declarar assert(config.spikearrest.allow, 'config.spikearrest.allow não está definido');
error config.spikearrest.bufferSize é inválido declarar assert(+config.spikearrest.bufferSize > 0, 'config.spikearrest.bufferSize é inválido');
error config.spikearrest.bufferSize não é um número declarar assert(typeof config.spikearrest.bufferSize === 'number', 'config.spikearrest.bufferSize não é um número');
error config.spikearrest.timeUnit não está definido declarar assert(config.spikearrest.timeUnit, 'config.spikearrest.timeUnit não está definido');
error ERRO CRIATIVO: erro ao analisar a lista de produtos transferida callback
error ERRO CRÍTICO: erro ao analisar a lista de proxies baixados callback
error ERRO INCORRETO NA CONFIGURAÇÃO DO PRODUTO console.error Seguido de console.warn('usando a configuração em cache antiga');
error erro ao ler configuração de lança Arquivo yaml de configuração
error erro ao salvar configuração em callback Arquivo yaml de configuração
error fatal: a configuração em cache não está disponível, não é possível continuar callback
error intervalo_mensagem declarar assert(+config.quota.interval > 0, interval_message);
error protocolo inválido para config.edge_config.proxy (http: ou https:: + proxy_url.protocol) esperados declarar assert(proxy_url.protocol === 'http:' || proxy_url.protocol === 'https:', 'protocolo inválido para config.edge_config.proxy (http: ou https:): ' + proxy_url.protocol);
error host de proxy inválido para config.edge_config.proxy declarar assert(proxy_url.hostname, 'host de proxy inválido para config.edge_config.proxy: ' + proxy_url.hostname);
error parece que o Edge Micro não foi configurado, consulte o guia do administrador callback Resultado: falha ao carregar a configuração
error chave ausente declarar assert(keys.key, 'chave ausente');
error precisa ter configDir declarar assert(configDir, 'must have configDir')
error deve ter opções declarar assert(options, 'devem ter opções');
error deve ter origem declarar assert(source, 'must have source')
error deve ter origem para carregar de declarar assert(options.source, 'deve ter origem para carregar')
error precisa ter targetFile. declarar assert(fileName, 'precisa ter targetFile')
error não pode ser nula declarar assert(options, 'options não pode ser nulo');
error options.keys não pode ser nulo declarar assert(options.keys, 'options.keys não pode ser nulo');
error Mensagem_de porta declarar assert(+config.edgemicro.port < 65536, port_message);
error os produtos devem ser uma matriz declarar assert(Array.isArray(products), 'produtos deve ser uma matriz');
error 'proxies do produto ' + product + ' deve ser uma matriz' declarar assert(Array.isArray(product.proxies), 'proxies do produto ' + product + ' devem ser uma matriz');
error ausência de secret declarar assert(keys.secret, 'secret está ausente');
error destino não definido declarar assert(target, 'target is not set');
warn erro ao fazer 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, 'return' console.warn Pesquise: (.*)\sdownload from\s(.*)\sreturn
warn nenhum microproduto do Edge encontrado na resposta console.warn
warn Nenhum microproxy de borda encontrado na organização console.warn
warn nenhum proxy micro 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 em cache; console.warn

Módulo microgateway-plugins

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

Módulo apigeetool

error Falha ao excluir o cache com o código de status %d', res.statusCode callback Lançada em deletecache.js. Código de status do Apigee Edge. Transmite um callback para um erro de rastreamento de pilha com esta mensagem: done(new Error(errMsg));
error 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 callback para um erro de rastreamento de pilha com esta mensagem: done(new Error(errMsg));
error org, api e revisão precisam ser especificados! callback Lançada em fetchproxy.js. Erro de configuração.
error Erro %d recebido ao buscar proxy: %j callback Lançada em fetchproxy.js. Código de status diferente de 200.
error Falha ao criar o aplicativo com o código de status %d callback Lançada em createapp.js. Transmite todos os erros de volta aos callbacks como erros de rastreamento de pilha. Não faz impressões do console nem entradas de registro.
error O comando + ' falhou com o código de status %d callback Lançada em command-utils.js. Para qualquer comando que for analisado e transmitido para este módulo, qualquer código que não seja 200 ou 201 gerará uma mensagem de erro. Formata esta mensagem, mas não imprime. Transmite um erro de rastreamento de pilha com a mensagem de volta aos retornos de chamada.
error Erro %d recebido ao buscar fluxo compartilhado: %s callback Lançada em fetchsharedflow.js. Para qualquer status HTTP diferente de 200. Se funcionar, mas não gravar um arquivo, ele será gravado no console:
Falha ao gravar o arquivo
Texto do erro: [stack_trace_error]
error Falha ao criar KeySecret com o código de status %d', res.statusCode callback Lançada em createappkey.js. Para códigos de status HTTP do Apigee Edge que não sejam 200 ou 201.
error Falha ao criar o cache com o código de status %d', res.statusCode callback Lançada em createcache.js. Para códigos de status HTTP do Apigee Edge que não sejam 200 ou 201.
error Falha ao criar produto com o código de status %d', res.statusCode callback Lançada em createproduct.js. Para códigos de status HTTP do Apigee Edge que não sejam 201. Se o status HTTP for 201, mas a resposta incluir o erro JSON, o erro será encaminhado ao retorno de chamada.
error Falha ao excluir o aplicativo com o código de status %d', res.statusCode callback Lançada em deleteapp.js. Para códigos de status HTTP do Apigee Edge que não sejam 200. Se o status HTTP for 200, mas a resposta incluir o erro JSON, o erro será encaminhado ao retorno de chamada.
error Falha ao criar desenvolvedor com o código de status %d', res.statusCode callback Lançada em createdeveloper.js. Para códigos de status HTTP do Apigee Edge que não sejam 201. Se o status HTTP for 201, mas a resposta incluir o erro JSON, o erro será encaminhado ao retorno de chamada.
error Falha ao excluir o desenvolvedor com o código de status %d', res.statusCode callback Lançada em deletedeveloper.js. Para códigos de status HTTP do Apigee Edge que não sejam 200. Se o status HTTP for 200, mas a resposta incluir o erro JSON, o erro será encaminhado ao retorno de chamada.

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.