Quando as solicitações de API são feitas pelo Apigee Edge, os componentes roteadores e processadores de mensagens do Apigee Edge ou os servidores de
back-end podem retornar erros aos aplicativos cliente.
Erros do processador de mensagens
O processador de mensagens é o principal componente do Apigee Edge que processa as políticas e
interage com os servidores de back-end. Ele pode retornar erros se detectar algum problema como:
Problemas de conectividade de rede, falhas no handshake do TLS, indisponibilidade do servidor de back-end, falta de resposta durante a comunicação com o servidor de back-end
Falhas durante a execução da política
Cabeçalhos HTTP inválidos, codificação, caminho, não conformidade com as especificações HTTP, excedendo
os limites de produtos etc.:
Com solicitação HTTP enviada pelos aplicativos cliente
OU
Com resposta HTTP enviada pelo servidor de back-end
E muito mais
Exemplo de erro do processador de mensagens
O Processador de mensagens sempre retorna um código de status HTTP seguido por uma mensagem de erro junto com um código de erro no formato JSON, conforme mostrado abaixo:
O aplicativo cliente recebe um código de resposta como o exemplo a seguir:
HTTP/1.1414Request-URI Too Long
Uma resposta de erro do Processador de mensagens aparece no seguinte formato:
Contém a mensagem de erro que descreve a possível causa do erro
errorcode
Código do erro (também conhecido como código de falha) associado ao
erro
Catálogo de erros de tempo de execução
Este catálogo de erros fornece todas as informações que você precisa saber sobre os códigos de erro de ambiente de execução (para erros não relacionados à política) que são retornados pelo componente Processador de mensagens do Apigee Edge. Ele inclui as seguintes informações sobre cada código de erro:
Código de status HTTP
Mensagem de erro
Possíveis causas do erro
Todas as especificações HTTP associadas e/ou limites de produto
Manuais e vídeos que contêm instruções para diagnosticar a causa do erro e
soluções eficazes que podem ser aplicadas para resolver o erro por conta própria (quando disponível)
Corrija isso para corrigir o erro
As seguintes categorias de código de erro são abordadas:
Use a caixa Pesquisar abaixo para filtrar a tabela e exibir as informações acima para um código de erro específico. É possível pesquisar o código de status ou qualquer conteúdo em qualquer campo
na tabela.
searchPesquisa
Código do erro
Descrição
Correção
flow.*
flow.APITimedOut
Código de status HTTP:
504 Gateway Timeout
Mensagem de erro:
API timed out
Possível causa:
Este erro ocorre se:
O servidor de back-end não responde dentro do período de tempo limite configurado pela propriedade api.timeout para o proxy de API específico.
Uma política leva muito tempo devido a operações intensivas em termos de computação, carga alta
ou desempenho ruim.
Observação:este manual fornece instruções para resolver o código de erro
messaging.adaptors.http.flow.GatewayTimeout. No entanto, é possível usar
o mesmo manual para resolver o código de erro flow.APITimedOut.
A codificação especificada no cabeçalho da solicitação HTTP
Content-Encoding é válida e
compatível com o Apigee Edge,
MAS
O formato de payload enviado pelo cliente como parte da solicitação HTTP não corresponde ao formato de codificação especificado no cabeçalho Content-Encoding.
A codificação especificada no cabeçalho de resposta HTTP do servidor de back-end/destino Content-Encoding é válida e
compatível com o Apigee Edge,
MAS
O formato de payload enviado pelo servidor de back-end/destino como parte da resposta HTTP não corresponde ao formato de codificação especificado no cabeçalho Content-Encoding
A mensagem de erro e o formato podem variar dependendo da implementação do servidor de back-end.
Possível causa:
Esse erro ocorre se o servidor de back-end responder com o código de status 504 para o Apigee Edge.
Observação: o código de erro
messaging.adaptors.http.flow.ErrorResponseCode não é retornado
como parte da mensagem de erro enviada aos aplicativos clientes. Isso acontece
porque esse código de erro é definido pelo Apigee Edge sempre que o servidor de back-end
responde com um erro e qualquer um dos códigos de status
4XX ou 5XX. É possível ver esse código de erro no monitoramento de APIs, nos registros de acesso do NGINX
ou no banco de dados de análise.
messaging.adaptors.http.flow.GatewayTimeout
Código de status HTTP:
504 Gateway Timeout
Mensagem de erro:
Gateway Timeout
Possível causa:
Esse erro ocorre se o servidor de back-end não responder ao processador de mensagens do Apigee Edge no período de
tempo limite de E/S configurado no processador de mensagens.
Esse erro ocorre se o cabeçalho Content-Length não for transmitido pelo
aplicativo cliente como parte das solicitações HTTP POST e PUT
enviadas para o Apigee Edge.
Observação: As solicitações com esse
erro não podem ser capturadas na ferramenta Trace, já que o processador de mensagens executa
essa validação em uma fase muito inicial, muito antes de processar a solicitação e
executar qualquer política no proxy de API.
Verifique se o aplicativo cliente sempre transmite o cabeçalho
Content-Length como parte das solicitações HTTP POST e
PUT enviadas para o Apigee Edge. Exemplo:
curl -X POST https://HOSTALIAS/PATH -d '{"name": "abc"}' -H "Content-Length: 15"
Mesmo que você esteja passando um payload vazio com solicitações POST e PUT, verifique se o cabeçalho Content-Length: 0 foi transmitido. Exemplo:
curl -X POST https://HOSTALIAS/PATH -H "Content-Length: 0"
messaging.adaptors.http.flow.NoActiveTargets
Código de status HTTP:
503 Service Unavailable
Mensagem de erro:
The Service is temporarily unavailable
Possível causa:
Esse erro ocorre em um dos seguintes cenários,
se você estiver usando o
TargetServer no Apigee Edge:
A resolução incorreta de DNS do host do servidor de back-end
pelo servidor de autorização personalizado resultou em endereços IP incorretos que levam a
erros de conexão.
Erros de tempo limite de conexão devido a:
A restrição do firewall no servidor de back-end impede que o Apigee Edge se conecte ao servidor de back-end.
Problemas de conectividade de rede entre o Apigee Edge
e o servidor de back-end.
O host especificado no TargetServer está incorreto ou tem caracteres indesejados (como um espaço).
Esse erro ocorre se o processador de mensagens do Apigee Edge não receber o
payload de solicitação do aplicativo cliente para o
período de tempo limite de E/S configurado no componente Processador de mensagens.
Corrigir
Verifique se o aplicativo cliente envia o payload da solicitação no período de
tempo limite de E/S configurado no componente Processador de mensagens do Apigee Edge.
messaging.adaptors.http.flow.ServiceUnavailable
Código de status HTTP:
503 Service Unavailable
Mensagem de erro:
The Service is temporarily unavailable
Possível causa:
Esse erro ocorre em um dos seguintes cenários::
A resolução incorreta de DNS do host do servidor de back-end
pelo servidor de autorização personalizado resultou em endereços IP incorretos que levam
a erros de conexão.
Erros de tempo limite de conexão devido a:
A restrição do firewall no servidor de back-end impede que o Apigee Edge se conecte ao servidor de back-end.
Problemas de conectividade de rede entre o Apigee Edge e o
servidor de back-end.
O host do servidor de destino especificado no endpoint de destino está incorreto ou tem caracteres indesejados, como espaço.
Esse erro também poderá ocorrer se o servidor de back-end fechar a conexão prematuramente enquanto o processador de mensagens ainda estiver enviando o payload da solicitação ao servidor de back-end.
Esse erro ocorre se o Apigee Edge não puder encaminhar a solicitação para nenhum dos
TargetEndpoints porque:
Não há uma condição de regra de rota (<RouteRule>) que
corresponda à solicitação em um proxy
E
Não há uma regra de rota padrão definida no ProxyEndpoint
(ou seja, <RouteRule> sem condição)
Correção
Para resolver esse erro, siga estas instruções:
Revise as regras de rota definidas no ProxyEndpoint e modifique para garantir que
haja pelo menos uma condição de regra de rota que corresponda à sua solicitação.
É uma boa prática definir uma regra de rota padrão sem condição quando você tem várias RouteRules.
Certifique-se de que a regra de rota padrão esteja definida por último na lista
de rotas condicionais porque as regras são avaliadas de cima para baixo no ProxyEndpoint.
Para saber mais sobre como definir condições <RouteRule> em um ProxyEndpoint, consulte
Destinos condicionais.
messaging.runtime.SenseRaiseFault
Código de status HTTP:
403 Forbidden
Mensagem de erro:
Sense Fault
Possível causa:
Esse erro ocorre quando uma solicitação de API é feita de um endereço IP de cliente específico
que é bloqueado como parte das regras do Apigee Sense.
Se o endereço IP do cliente específico não estiver bloqueado, mas você ainda estiver recebendo esse erro, entre em contato com o suporte do Apigee Edge.
protocol.http.* - Caused due to bad request
protocol.http.BadFormData
Código de status HTTP:
500 Internal Server Error
Mensagem de erro:
Bad Form Data
Possível causa:
Esse erro ocorrerá se e somente se todas as condições a seguir forem satisfeitas:
A solicitação HTTP enviada pelo cliente ao Apigee Edge
contém:
Content-Type: application/x-www-form-urlencoded,
e
Dados de formulário com o sinal de porcentagem (%) ou o sinal de porcentagem (%) seguido de caracteres hexadecimais inválidos que não são permitidos de acordo com
Forms: seção 17.13.4.1.
O proxy de API no Apigee Edge lê os parâmetros de formulário específicos que contêm os caracteres não permitidos usando a política ExtractVariables ou AttributionMessage no fluxo de solicitação.
Esse erro ocorre quando um cabeçalho HTTP específico que não pode ter cópias
no Apigee Edge aparece mais de uma vez com valores iguais ou diferentes como parte da
solicitação HTTP enviada pelo aplicativo cliente para o Apigee Edge.
Verifique se a solicitação HTTP enviada pelo aplicativo cliente para o Apigee Edge sempre contém um nome de cabeçalho válido de acordo com o
RFC 7230, seção 3.2: campos de cabeçalho.
protocol.http.HeaderNameWithNonAsciiChar
Código de status HTTP:
400 Bad Request
Mensagem de erro:
Header {header_name} contains non ascii character {character}
Possível causa:
Esse erro ocorre quando o nome do cabeçalho enviado como parte da solicitação HTTP
pelo aplicativo cliente para o Apigee Edge contém caracteres não ASCII.
Header {header_name} contains invalid character {character}
Possível causa:
Esse erro ocorre quando o nome do cabeçalho enviado como parte da solicitação HTTP
pelo aplicativo cliente para o Apigee Edge contém caracteres inválidos, como
igual (=), vírgula (,), ponto e vírgula (;), tab, CRLF e um caractere de nova linha.
Esse erro ocorre se o caminho no URL de solicitação HTTP enviado pelo aplicativo cliente
para o Apigee Edge contiver caracteres que não são permitidos de acordo com a especificação
RFC 3986, seção 3.3: caminho.
Verifique se o caminho no URL de solicitação HTTP enviado pelo aplicativo
cliente para o
Apigee Edge não contém nenhum caractere não permitido como
de acordo com a RFC 3986, seção 3.3: caminho.
protocol.http.MessageReadError
Código de status HTTP:
502 Bad Gateway
Mensagem de erro:
Unexpected I/O after message headers have been read.
Possível causa:
Esse erro raro ocorre quando o MP
recebe E/S em um canal quando não está esperando isso. O
MP está lendo uma solicitação, já leu todos os cabeçalhos e está configurado
para ler a carga útil da solicitação. Em seguida, ele encontra um evento de E/S
que parece ser para os mesmos cabeçalhos.
Corrigir
Localize a mensagem de registro para mais informações sobre o que está acontecendo.
logger.atSevere().log(
"Unexpected I/O after message headers have been read. Channel diagnostics=%s."
+ " HeartBeat=%s",
input.client().getDiagnostic(), message.getHeaders().isHeartBeat());
protocol.http.TooBigBody
Código de status HTTP:
413 Request Entity Too Large
Mensagem de erro:
Body buffer overflow
Possível causa:
Esse erro ocorre se o tamanho do payload enviado pelo aplicativo cliente como parte da solicitação HTTP para o Apigee Edge for maior que o limite permitido no Apigee Edge.
O tamanho total de todos os cabeçalhos de solicitação enviados pelo aplicativo
cliente como parte da solicitação HTTP para o Apigee Edge é maior do que o limite permitido
no Apigee Edge.
Esse erro ocorre se o tamanho da linha de solicitação enviada pelo aplicativo cliente como parte da solicitação HTTP para o Apigee Edge for maior que o limite permitido no Apigee Edge.
Esse erro ocorrerá se o cabeçalho Content-Encoding enviado pelo cliente
como parte da resposta HTTP tiver um formato de codificação/payload não
compatível com o Apigee Edge.
Este erro ocorrerá se o URL de solicitação do servidor de back-end, representado pela variável de fluxo target.url, contiver um caminho que começa com um ponto de interrogação (?) em vez de um encaminhamento barra (/), que é inválida.
Esse erro ocorre se o cabeçalho HTTP específico que não pode ter cópias
no Apigee Edge aparece mais de uma vez com valores iguais ou diferentes como parte da
resposta HTTP enviada pelo servidor de back-end para o Apigee Edge.
Verifique se a resposta HTTP enviada pelo servidor de back-end
ao Apigee Edge sempre contém um nome de cabeçalho válido de acordo com o
RFC 7230, seção 3.2: campos de cabeçalho.
protocol.http.EmptyPath
Código de status HTTP:
500 Internal Server Error
Mensagem de erro:
Request path cannot be empty
Possível causa:
Este erro ocorre se o URL de solicitação HTTP do servidor de back-end, representado pela variável de fluxo target.url, contiver um caminho vazio.
Header {header_name} contains non ascii character {character}
Possível causa:
Esse erro ocorrerá se o nome do cabeçalho enviado pelo servidor de back-end como parte da
resposta HTTP para o Apigee Edge
contiver caracteres não ASCII.
Header {header_name} contains invalid character {character}
Possível causa:
Esse erro ocorre quando o nome do cabeçalho enviado pelo servidor de back-end como parte da resposta HTTP contém caracteres inválidos, como igual (=), vírgula (,), ponto e vírgula (;), tab, CRLF e Nova linha.
Proxy refused to create tunnel with response status {status code}
Possível causa:
Esse erro ocorre durante a criação do túnel entre o Apigee Edge e o
servidor de back-end pelo servidor proxy devido a firewall, ACL (lista de controle de acesso), problemas de
DNS, disponibilidade de disponibilidade do servidor de back-end etc.
Observação: o código de status na mensagem de erro
(faultstring) fornece a causa geral do problema.
Response Status code 306 is reserved, so can't be used.
Possível causa:
Esse erro ocorre se o servidor de back-end respondeu com o código de status 306 para o Apigee Edge.
O código de status 306 foi definido em uma versão anterior da
especificação HTTP. De acordo com a especificação HTTP atual, esse código é
reservado e não pode ser usado.
Esse erro ocorrerá se a resposta HTTP do servidor de back-end para o Apigee Edge for
204 No Content ou
205 Reset Content, mas contiver o
corpo da resposta e/ou um ou mais dos seguintes cabeçalhos:
Esse erro ocorre se o tamanho do payload enviado pelo aplicativo cliente como parte da solicitação HTTP para o Apigee Edge for maior que o limite permitido no Apigee Edge.
Esse erro ocorre se o tamanho total de todos os cabeçalhos de resposta enviados pelo
servidor de back-end como parte da resposta HTTP para o Apigee Edge for maior que o
limite permitido no Apigee Edge.
Esse erro ocorrerá se o tamanho da linha de resposta enviada pelo servidor de back-end como parte da resposta HTTP para o Apigee Edge for maior que o limite permitido no Apigee Edge.
Esse erro ocorre se o cabeçalho Content-Encoding enviado pelo
servidor de back-end como parte da resposta HTTP contiver o formato de codificação/payload
que não é
compatível com o Apigee Edge.
KeyAlias {KeyAlias_name} is not found in
Keystore {Keystore_Name}
Possível causa:
Esse erro ocorre se o KeyAlias específico referenciado no TargetEndpoint
ou TargetServer não for encontrado no Keystore específico.
Correção
Verifique se o KeyAlias especificado em TargetEndpoint ou TargetServer faz parte do Keystore específico.
security.util.TrustStoreWithNoCertificates
Código de status HTTP:
500 Internal Server Error
Mensagem de erro:
TrustStore {truststore_name} has no certificates
Possível causa:
Esse erro ocorre se o Truststore específico referenciado no TargetEndpoint ou
TargetServer não contiver nenhum certificado.
Correção
Se você quiser validar o certificado do servidor de back-end e
quiser usar o Truststore em um TargetEndpoint ou TargetServer, verifique se o Truststore contém os certificados válidos do servidor de back-end.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-08 UTC."],[],[],null,[]]