Quando as solicitações de API são feitas pelo Apigee Edge, os processadores de mensagens e roteadores de componentes do Apigee Edge ou o back-end
podem retornar erros aos aplicativos clientes.
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 o ambiente de execução
códigos de erro (para erros que não são de política) retornados pela mensagem do Apigee Edge
Componente do processador. 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 problemas do código do erro.
messaging.adaptors.http.flow.GatewayTimeout No entanto, é possível usar
o mesmo playbook para resolver problemas do código do erro flow.APITimedOut.
A codificação especificada no cabeçalho da solicitação HTTP
Content-Encoding é válido e
com suporte do 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 back-end/servidor de destino
O cabeçalho de resposta HTTP Content-Encoding é válido e
com suporte do 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 ocorrerá se o servidor de back-end responder com o status
código 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 é
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 valores 4XX ou 5XX
códigos de status. É possível encontrar esse código de erro no API Monitoring, nos registros de acesso do NGINX
ou 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 ocorrerá se o servidor de back-end não responder
ao processador de mensagens do Apigee Edge
Tempo limite de E/S configurado no processador de mensagens.
Esse erro ocorrerá se o cabeçalho Content-Length não for transmitido pelo
o aplicativo cliente como parte dos HTTP POST e PUT
solicitações enviadas ao 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 passa o cabeçalho
Content-Length como parte do HTTP POST e
Solicitações PUT enviadas ao 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
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
se conecte ao servidor de back-end do Apigee Edge.
Problemas de conectividade de rede entre o Apigee Edge
e servidor de back-end.
O host especificado no TargetServer está incorreto ou tem caracteres indesejados (como um espaço).
Esse erro ocorrerá se o processador de mensagens do Apigee Edge não receber o
payload de solicitação do aplicativo cliente para o
Tempo limite de E/S configurado no componente Processador de mensagens.
Corrigir
Garantir que o aplicativo cliente envie o payload da solicitação dentro do
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
se conecte ao servidor de back-end do Apigee Edge.
Problemas de conectividade de rede entre o Apigee Edge e
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 ocorrerá se o Apigee Edge não puder rotear 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
AND
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 está bloqueado como parte das regras do Apigee Sense.
Se o endereço IP do cliente específico não estiver bloqueado, mas você
receber 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 para o 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ê o formulário específico
que contêm quaisquer caracteres que não sejam permitidos ao usar o parâmetro
ExtractVariables ou a políticaAssignMessage no fluxo de solicitação.
Esse erro ocorre quando um cabeçalho HTTP específico não pode ter cópias
no Apigee Edge, aparece mais de uma vez com valores iguais ou diferentes como parte do
Solicitação HTTP enviada pelo aplicativo cliente para a Apigee Edge.
Verifique se a solicitação HTTP enviada pelo aplicativo cliente
ao Apigee Edge sempre contém um nome de cabeçalho válido, de acordo com
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 ocorrerá se 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 ocorrerá se 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 (;), tabulação, CRLF e caractere de nova linha.
Esse erro ocorrerá se o caminho no URL da solicitação HTTP enviado pelo aplicativo cliente
ao Apigee Edge contém caracteres não permitidos de acordo com a especificação
RFC 3986, seção 3.3: Caminho.
Verifique se o caminho no URL da solicitação HTTP enviado pelo cliente
aplicativo para
O Apigee Edge não contém caracteres não permitidos como
de acordo com o RFC 3986, seção 3.3: caminho.
protocol.http.TooBigBody
Código de status HTTP:
413 Request Entity Too Large
Mensagem de erro:
Body buffer overflow
Possível causa:
Este erro ocorre se o tamanho da carga útil enviado pelo aplicativo cliente como parte do
A solicitação HTTP para o Apigee Edge é maior que o limite permitido.
O tamanho total de todos os cabeçalhos de solicitação enviados pelo cliente.
aplicativo como parte da solicitação HTTP para o Apigee Edge é maior do que o permitido
na Apigee Edge.
Esse erro ocorrerá se o tamanho da linha de solicitação enviada pelo aplicativo cliente
como parte da solicitação HTTP para o Apigee Edge é maior do que o limite permitido em
Apigee Edge.
Esse erro ocorrerá se o cabeçalho Content-Encoding enviado pelo cliente
como parte da resposta HTTP, contém um formato de codificação/payload que não é
com suporte do 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 tem permissão para ter cópias
no Apigee Edge, aparece mais de uma vez com valores iguais ou diferentes como parte do
a resposta HTTP enviada pelo servidor de back-end para o Apigee Edge.
Verifique se a resposta HTTP enviada pelo back-end
de servidor para o Apigee Edge sempre contém um nome de cabeçalho válido, de acordo com
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
de back-end pelo servidor proxy, devido a regras de firewall, ACL (Lista de controle de acesso), DNS
problemas, a 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
306 para a 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 contém o
corpo da resposta e/ou um ou mais dos seguintes cabeçalhos:
Este erro ocorre se o tamanho da carga útil enviado pelo aplicativo cliente como parte do
A solicitação HTTP para o Apigee Edge é maior que o limite permitido.
Esse erro ocorre se o tamanho total de todos os cabeçalhos de resposta enviados pelo
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 tamanho da linha de resposta enviada pelo servidor de back-end como
parte da resposta HTTP para o Apigee Edge é maior que o limite permitido na Apigee
Borda
Esse erro ocorre se o cabeçalho Content-Encoding enviado pelo
o servidor de back-end como parte da resposta HTTP contém o bloco de
formato que não é
com suporte do 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-03-20 UTC."],[],[]]