Catálogo de erros de tempo de execução

Esta página aplica-se ao Apigee e ao Apigee Hybrid.

Veja a documentação do Apigee Edge.

Erros no Apigee

Quando são feitos pedidos de API através do Apigee, os componentes do Apigee, os routers e os processadores de mensagens, ou os servidores de back-end, podem devolver erros às aplicações cliente.

Erros do processador de mensagens

O Message Processor é o componente principal do Apigee que processa as políticas e interage com os servidores de back-end. Pode devolver erros se detetar problemas, como:

  • Problemas de conetividade de rede, falhas de handshake 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, codificação, caminho inválidos, não conformidade com as especificações HTTP, exceder os limites de produtos, etc.:
    • Com o pedido HTTP enviado pelas aplicações cliente
    • OU

    • Com a resposta HTTP enviada pelo servidor de back-end
  • E muito mais

Erro de exemplo do processador de mensagens

O processador de mensagens devolve sempre um Código de estado HTTP seguido de uma mensagem de erro, juntamente com um código de erro no formato JSON, conforme mostrado abaixo:

A aplicação cliente recebe um código de resposta semelhante ao seguinte exemplo:

  HTTP/1.1 504 Gateway Timeout

Uma resposta de erro do processador de mensagens aparece no seguinte formato:

{
  "fault": {
    "faultstring": "Gateway Timeout",
    "detail": {
      "errorcode": "messaging.adaptors.http.flow.GatewayTimeout"
      "reason": "TARGET_READ_TIMEOUT"
    }
  }
}

Descrição dos campos na resposta de erro:

Campo Descrição
faultstring Contém a mensagem de erro que descreve a possível causa do erro
errorcode Código de erro (também denominado código de falha) associado ao erro
reason Contém uma mensagem que indica o possível motivo do erro

Catálogo de erros de tempo de execução

Este catálogo de erros fornece todas as informações de que precisa acerca dos códigos de erro de tempo de execução (para erros não relacionados com políticas) devolvidos pelo componente Apigee Message Processor. Inclui as seguintes informações para cada um dos códigos de erro:

  • Código de estado HTTP
  • Mensagem de erro
  • Motivo do erro (nem todas as mensagens de erro apresentam um reason)
  • Possíveis causas do erro
  • Quaisquer especificações de HTTP associadas e/ou limites de produtos
  • Guias interativos e vídeos que contêm instruções para diagnosticar a causa do erro e soluções eficazes que pode aplicar para resolver o erro sozinho (quando disponíveis)
  • Correções que pode aplicar para resolver o erro

As seguintes categorias de códigos de erro estão abrangidas:

Use a caixa Pesquisar abaixo para filtrar a tabela e apresentar as informações acima para um código de erro específico. Pode pesquisar o código de estado ou qualquer conteúdo em qualquer campo na tabela.

Código de erro Descrição Corrigir

flow.*

flow.APITimedOut

  • Código de estado HTTP:
504 Gateway Timeout
  • Mensagem de erro:
API timed out
  • Causa possível:

Este erro ocorre se:

  • O servidor de back-end não responde dentro do período de limite de tempo configurado pela propriedade api.timeout para o proxy de API específico.
  • Uma política demora muito tempo devido a operações computacionalmente intensivas, carga elevada ou desempenho fraco.

flow.SharedFlowNotFound

  • Código de estado HTTP:
500 Internal Server Error
  • Mensagem de erro:
Shared Flow {shared_flow_name} Not Found
  • Causa possível:

Este erro ocorre se o fluxo partilhado específico:

  • Inexistente
  • OU

  • Existe, mas não está implementado

messaging.adaptors.http.flow

messaging.adaptors.http.flow.DecompressionFailureAtRequest

  • Código de estado HTTP:
400 Bad Request
  • Mensagem de erro:
Decompression failure at request
  • Motivo:

CLIENT_READ_CONTENT_NOT_IN_GZIP_FORMAT

  • Causa possível:

Este erro ocorre apenas se:

  • A codificação especificada no cabeçalho do pedido HTTP Content-Encoding é válida e suportada pelo Apigee,
  • MAS

  • O formato da carga útil enviado pelo cliente como parte do pedido HTTP não corresponde ao formato de codificação especificado no cabeçalho Content-Encoding

messaging.adaptors.http.flow.DecompressionFailureAtResponse

  • Código de estado HTTP:
502 Bad Gateway
  • Mensagem de erro:
Decompression failure at response
  • Motivo:

TARGET_READ_CONTENT_NOT_IN_GZIP_FORMAT

TARGET_READ_INCORRECT_HEADER_CHECK

  • Causa possível:

Este erro ocorre apenas se:

  • A codificação especificada no cabeçalho da resposta HTTP Content-Encoding do servidor de back-end/destino é válida e suportada pelo Apigee,
  • MAS

  • O formato da carga útil enviada 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

messaging.adaptors.http.flow.ErrorResponseCode

  • Código de estado HTTP:
500

  • Mensagem de erro:
A mensagem de erro e o formato podem variar consoante a implementação do servidor de back-end.
  • Causa possível:
Este erro ocorre se o servidor de back-end responder ao Apigee com o código de estado 500.
  • Código de estado HTTP:
503
  • Mensagem de erro:
A mensagem de erro e o formato podem variar consoante a implementação do servidor de back-end.
  • Causa possível:
Este erro ocorre se o servidor de back-end responder ao Apigee com o código de estado 503.
  • Código de estado HTTP:
504
  • Mensagem de erro:
A mensagem de erro e o formato podem variar consoante a implementação do servidor de back-end.
  • Causa possível:
Este erro ocorre se o servidor de back-end responder ao Apigee com o código de estado 504.

Nota: o código de erro messaging.adaptors.http.flow.ErrorResponseCode não é devolvido como parte da mensagem de erro enviada para as aplicações cliente. Isto deve-se ao facto de este código de erro ser definido pelo Apigee sempre que o servidor de back-end responde com um erro e qualquer um dos códigos de estado 4XX ou 5XX. Pode ver este código de erro na monitorização da API ou na base de dados de estatísticas.

messaging.adaptors.http.flow.GatewayTimeout

  • Código de estado HTTP:
504 Gateway Timeout
  • Mensagem de erro:
Gateway Timeout
  • Motivo:
TARGET_READ_TIMEOUT
  • Causa possível:
Este erro ocorre se o servidor de back-end não responder ao processador de mensagens do Apigee dentro do período de limite de tempo de E/S configurado no processador de mensagens.

messaging.adaptors.http.flow.InternalServerError

  • Código de estado HTTP:
500 Internal Server Error
  • Mensagem de erro:
Internal server error at backend
  • Motivo:
SERVER_ERROR
  • Causa possível:
Este erro ocorre num dos seguintes cenários:
  1. A aplicação de back-end encontrou uma exceção ou um erro não processado durante o processamento do pedido do Apigee. Isto pode dever-se a problemas como lógica defeituosa, entrada inesperada ou outros problemas de tempo de execução no código da aplicação.
  2. O servidor de back-end pode não ter conseguido estabelecer ligação à respetiva base de dados ou uma consulta à base de dados pode ter falhado. Isto pode acontecer devido à conetividade de rede, a credenciais da base de dados incorretas, à indisponibilidade do servidor da base de dados ou a problemas com o esquema ou os dados da base de dados.
  3. Se o seu servidor de back-end depender de outros serviços internos ou externos, como APIs, filas de mensagens ou sistemas de colocação em cache, uma falha numa destas dependências pode fazer com que devolva um erro 500 ao Apigee. O back-end pode não conseguir comunicar com o serviço dependente ou pode receber respostas de erro do mesmo.
  4. O servidor de back-end pode estar sobrecarregado devido a tráfego elevado, memória insuficiente (RAM), utilização excessiva da CPU ou pouco espaço em disco. Quando o servidor não tem recursos adequados, não consegue processar pedidos e responde com um erro 500.
  5. As definições incorretas no servidor de back-end podem causar erros inesperados durante o processamento de pedidos. Isto inclui problemas com configurações do servidor, definições da aplicação ou configurações de implementação.
  6. Pode existir um erro subjacente no código da aplicação de back-end que é acionado pelo pedido específico do Apigee. Estes erros podem não ser evidentes em circunstâncias normais, mas são expostos por determinados padrões de pedidos ou dados.

messaging.adaptors.http.flow.LengthRequired

  • Código de estado HTTP:
411 Length Required
  • Mensagem de erro:
'Content-Length' is missing
  • Motivo:
CLIENT_REQUEST_CONTENT_LENGTH_REQUIRED
  • Causa possível:

Este erro ocorre se o cabeçalho Content-Length não for transmitido pela aplicação cliente como parte dos pedidos HTTP POST e PUT enviados para o Apigee.

Nota: não é possível capturar os pedidos que falham com este erro na ferramenta de rastreio, uma vez que o processador de mensagens realiza esta validação numa fase muito inicial, muito antes de processar o pedido e executar qualquer política no proxy da API.

  • Especificação HTTP:
Secção 3.3.2 do RFC: Content-Length

Corrigir

Para resolver este erro, siga estes passos:

  1. Certifique-se de que a aplicação cliente transmite sempre o cabeçalho Content-Length como parte dos pedidos HTTP POST e PUT enviados para o Apigee. Por exemplo:

    curl -X POST https://HOSTALIAS/PATH -d '{"name": "abc"}' -H "Content-Length: 15"
    
  2. Mesmo que esteja a transmitir um payload vazio com pedidos POST e PUT, certifique-se de que o cabeçalho Content-Length: 0 é transmitido. Por exemplo:

    curl -X POST https://HOSTALIAS/PATH -H "Content-Length: 0"
    

messaging.adaptors.http.flow.NoActiveTargets

  • Código de estado HTTP:
503 Service Unavailable
  • Mensagem de erro:
The Service is temporarily unavailable
  • Motivo:

TARGET_HEALTHCHECK_CONNECT_TIMEOUT

TARGET_HEALTHCHECK_CONNECTION_REFUSED

TARGET_HEALTHCHECK_HTTPS_REQUEST_OVER_HTTP

TARGET_HEALTHCHECK_UNEXPECTED_EOF

  • Causa possível:

Este erro ocorre num dos seguintes cenários, se estiver a usar TargetServer no Apigee:

  1. A resolução de DNS incorreta do anfitrião do servidor de back-end pelo servidor de autorização personalizado resultou em endereços IP incorretos, o que originou erros de ligação.
  2. Erros de limite de tempo da ligação devido a:
    1. A restrição da firewall no servidor de back-end impede que o Apigee se ligue ao servidor de back-end.
    2. Problemas de conetividade de rede entre o Apigee e o servidor de back-end.
  3. O anfitrião especificado no TargetServer está incorreto ou tem carateres indesejados (como um espaço).
Este erro também pode ocorrer se as verificações de funcionamento configuradas para monitorizar a verificação de funcionamento dos servidores de destino falharem.

messaging.adaptors.http.flow.RequestTimeOut

  • Código de estado HTTP:
408 Request Timeout
  • Mensagem de erro:
Request timed out
  • Motivo:
CLIENT_READ_TIMEOUT
  • Causa possível:
Este erro ocorre se o processador de mensagens do Apigee não receber a carga útil do pedido da aplicação cliente durante o período de limite de tempo de E/S configurado no componente do processador de mensagens.

Corrigir

Certifique-se de que a aplicação cliente envia o payload do pedido dentro do período de tempo limite de E/S configurado no componente Message Processor do Apigee.

messaging.adaptors.http.flow.ServiceUnavailable

  • Código de estado HTTP:
503 Service Unavailable
  • Mensagem de erro:
The Service is temporarily unavailable
  • Motivo:

TARGET_CONNECT_TIMEOUT

TARGET_WRITE_BROKEN_PIPE

TARGET_WRITE_CONNECTION_RESET_BY_PEER

TARGET_CONNECT_CONNECTION_REFUSED

  • Causa possível:

Este erro ocorre num dos seguintes cenários:

  1. A resolução de DNS incorreta do anfitrião do servidor de back-end pelo servidor de autorização personalizado resultou em endereços IP incorretos, o que levou a erros de ligação.
  2. Erros de limite de tempo da ligação devido a:
    1. A restrição da firewall no servidor de back-end impede que o Apigee se ligue ao servidor de back-end.
    2. Problemas de conetividade de rede entre o Apigee e o servidor de back-end.
  3. O anfitrião do servidor de destino especificado no ponto final de destino está incorreto ou tem carateres indesejados (como um espaço).

Corrigir

Para diagnosticar e corrigir o problema, consulte o erro 503 Service Unavailable com o manual TARGET_CONNECT_TIMEOUT.

Este erro também pode ocorrer se o servidor de back-end fechar prematuramente a ligação enquanto o processador de mensagens ainda estiver a enviar o payload do pedido para o servidor de back-end.

messaging.adaptors.http.flow.SslHandshakeFailed

  • Código de estado HTTP:
503 Service Unavailable
  • Mensagem de erro:
SSL Handshake failed {error_message}
  • Causa possível:

Este erro ocorre durante o processo de estabelecimento de ligação SSL entre o Message Processor do Apigee e o servidor de back-end se:

  1. O truststore do processador de mensagens do Apigee:
    • Contém uma cadeia de certificados que não corresponde à cadeia de certificados completa do servidor de back-end
    • OU

    • Não contém a cadeia de certificados completa do servidor de back-end
  2. A cadeia de certificados apresentada pelo servidor de back-end:
    • Contém um nome de domínio totalmente qualificado (FQDN) que não corresponde ao nome do anfitrião especificado no ponto final de destino
    • OU

    • Contém uma cadeia de certificados incorreta/incompleta
  3. O servidor de back-end rejeita a versão TLS usada pelo Apigee.

    Por exemplo, se o servidor de back-end aceitar apenas a versão 1.3 do TLS, mas o servidor de destino do lado do Apigee tiver a versão 1.2 do TLS definida no respetivo campo TLS Protocol (ou não tiver nenhuma versão do TLS definida, caso em que o Apigee não usa atualmente a versão 1.3 do TLS como predefinição), a ligação falha devido a uma incompatibilidade das versões do protocolo.

messaging.adaptors.http.flow.UnexpectedEOFAtTarget

  • Código de estado HTTP:
502 Bad Gateway
  • Mensagem de erro:
Unexpected EOF at target
  • Motivo:
TARGET_READ_UNEXPECTED_EOF
  • Causa possível:

Este erro ocorre num dos seguintes cenários:

  1. OTargetServer não está configurado corretamente para suportar ligações TLS/SSL no Apigee.
  2. O servidor de back-end pode fechar a ligação abruptamente, enquanto o Apigee aguarda uma resposta do servidor de back-end.
  3. Tempos limite de manutenção ativos configurados incorretamente no Apigee e no servidor de back-end.

messaging.adaptors.http.flow.BadGateway

  • Código de estado HTTP:
502 Bad Gateway
  • Mensagem de erro:
Bad Gateway
  • Causa possível:

Este erro ocorre se o servidor de destino enviar uma resposta HTTP com formato incorreto de volta para o Apigee.

messaging.runtime.*

messaging.runtime.RouteFailed

  • Código de estado HTTP:
500 Internal Server Error
  • Mensagem de erro:
Unable to route the message to a TargetEndpoint
  • Causa possível:

Este erro ocorre se o Apigee não conseguir encaminhar o pedido para nenhum dos TargetEndpoints porque:

  • Não existe uma condição de regra de encaminhamento (<RouteRule>) que corresponda ao pedido num proxy
  • E

  • Não existe nenhuma regra de trajeto predefinida definida no ProxyEndpoint (ou seja, <RouteRule> sem qualquer condição)

Corrigir

Para resolver este erro, siga estas instruções:

  1. Reveja as regras de encaminhamento definidas no seu ProxyEndpoint e modifique-as para garantir que existe, pelo menos, uma condição de regra de encaminhamento que corresponda ao seu pedido.
  2. É uma boa prática definir uma regra de trajeto predefinida sem condição quando tem várias regras de trajeto.
  3. Certifique-se de que a regra de encaminhamento predefinida é sempre definida por último na lista de encaminhamentos condicionais, porque as regras são avaliadas de cima para baixo no ProxyEndpoint.

Para saber mais acerca da definição de <RouteRule>condições num ProxyEndpoint, consulte Alvos condicionais.

protocol.http.* - Caused due to bad request

protocol.http.BadFormData

  • Código de estado HTTP:
500 Internal Server Error
  • Mensagem de erro:
Bad Form Data
  • Causa possível:

Este erro ocorre se e apenas se forem cumpridas todas as condições seguintes:

  1. O pedido HTTP enviado pelo cliente para o Apigee contém:
    • Content-Type: application/x-www-form-urlencoded, e
    • Dados de formulários com o sinal de percentagem (%), ou o sinal de percentagem (%) seguido de carateres hexadecimais inválidos que não são permitidos de acordo com a secção Forms - Section 17.13.4.1.
  2. O proxy de API no Apigee lê os parâmetros do formulário específicos que contêm carateres não permitidos através da política ExtractVariables ou AssignMessage no fluxo de pedidos.

protocol.http.DuplicateHeader

  • Código de estado HTTP:
400 Bad Request
  • Mensagem de erro:
Duplicate Header "{header_name}"
  • Causa possível:
Este erro ocorre se um cabeçalho HTTP específico que não pode ter duplicados no Apigee aparecer mais do que uma vez com valores iguais ou diferentes como parte do pedido HTTP enviado pela aplicação cliente para o Apigee.
  • Especificação HTTP:
RFC 7230, secção 3.2.2: ordem dos campos

protocol.http.EmptyHeaderName

  • Código de estado HTTP:
400 Bad Request
  • Mensagem de erro:
Header name cannot be empty
  • Causa possível:
Este erro ocorre se o nome do cabeçalho enviado como parte do pedido HTTP pela aplicação cliente para o Apigee estiver vazio.
  • Especificação HTTP:
RFC 7230, secção 3.2: Campos de cabeçalho

Corrigir

Certifique-se de que o pedido HTTP enviado pela aplicação cliente para o Apigee contém sempre um nome de cabeçalho válido de acordo com a RFC 7230, secção 3.2: Campos de cabeçalho.

protocol.http.HeaderNameWithNonAsciiChar

  • Código de estado HTTP:
400 Bad Request
  • Mensagem de erro:
Header {header_name} contains non ascii character {character}
  • Causa possível:
Este erro ocorre se o nome do cabeçalho enviado como parte do pedido HTTP pela aplicação cliente para o Apigee contiver carateres não ASCII.
  • Especificação HTTP:

RFC 7230, secção 3.2: Campos de cabeçalho e RFC 7230, secção 3.2.6: Componentes de valor de campo

Corrigir

Certifique-se de que o pedido HTTP do cliente enviado para o Apigee não contém carateres não ASCII nos nomes dos cabeçalhos, conforme a RFC 7230, secção 3.2.6: Componentes de valor de campo.

protocol.http.HeaderWithInvalidChar

  • Código de estado HTTP:
400 Bad Request
  • Mensagem de erro:
Header {header_name} contains invalid character {character}
  • Causa possível:
Este erro ocorre se o nome do cabeçalho enviado como parte do pedido HTTP pela aplicação cliente para o Apigee contiver carateres inválidos, como igual (=), vírgula (,), ponto e vírgula (;), tabulação, CRLF e caráter de nova linha.
  • Especificação HTTP:

RFC 7230, secção 3.2: Campos de cabeçalho e RFC 7230, secção 3.2.6: Componentes de valor de campo

Corrigir

Certifique-se de que o pedido HTTP enviado pela aplicação cliente para o Apigee não contém carateres inválidos nos nomes dos cabeçalhos, de acordo com a RFC 7230, secção 3.2.6: Componentes de valor de campo

protocol.http.InvalidPath

  • Código de estado HTTP:
400 Bad Request
  • Mensagem de erro:
Invalid path {path}
  • Causa possível:
Este erro ocorre se o caminho no URL do pedido HTTP enviado pela aplicação cliente para o Apigee contiver carateres que não são permitidos de acordo com a especificação RFC 3986, secção 3.3: Caminho.
  • Especificação HTTP:

RFC 3986, secção 3: Componentes de sintaxe e RFC 3986, secção 3.3: Caminho

Corrigir

Certifique-se de que o caminho no URL do pedido HTTP enviado pela aplicação cliente para o Apigee não contém carateres que não sejam permitidos de acordo com a RFC 3986, secção 3.3: Path.

protocol.http.MessageReadError

  • Código de estado HTTP:
502 Bad Gateway
  • Mensagem de erro:
Unexpected I/O after message headers have been read.
  • Causa possível:
Este erro raro ocorre quando o MP recebe I/O num canal quando não o está a esperar. O MP está a ler um pedido, leu todos os cabeçalhos e está definido para ler o payload do pedido. Em seguida, encontra um evento de E/S que parece ser para os mesmos cabeçalhos.

Corrigir

Localize a mensagem de registo para mais informações sobre o que está a acontecer.

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.NoResolvedHost

  • Código de estado HTTP:
503 Service Unavailable
  • Mensagem de erro:

Unable to resolve host {hostname}

Onde: {hostname} é dinâmico e o respetivo valor vai mudar relativamente ao nome do anfitrião fornecido.

  • Motivo:
TARGET_CONNECT_HOST_NOT_REACHABLE
  • Causa possível:
Este erro ocorre se o anfitrião do servidor de destino especificado estiver incorreto ou tiver carateres indesejados (como um espaço).

protocol.http.TooBigBody

  • Código de estado HTTP:
413 Request Entity Too Large
  • Mensagem de erro:
Body buffer overflow
  • Causa possível:
Este erro ocorre se o tamanho da carga útil enviada pela aplicação cliente como parte do pedido HTTP para o Apigee for superior ao limite permitido no Apigee.
  • Limites:
Limites do Apigee

protocol.http.TooBigHeaders

  • Código de estado HTTP:
431 Request Header Fields Too Large
  • Mensagem de erro:
request headers size exceeding {limit}
  • Causa possível:
O tamanho total de todos os cabeçalhos de pedidos enviados pela aplicação cliente como parte do pedido HTTP para o Apigee é superior ao limite permitido no Apigee.
  • Especificação HTTP:
RFC 6585, secção 5: 431 Campos de cabeçalho de pedido demasiado grandes
  • Limites:
Limites do Apigee

protocol.http.TooBigLine

  • Código de estado HTTP:
414 Request-URI Too Long
  • Mensagem de erro:
request line size exceeding {limit}
  • Causa possível:
Este erro ocorre se o tamanho da linha de pedido enviada pela aplicação cliente como parte do pedido HTTP para o Apigee for superior ao limite permitido no Apigee.
  • Limites:
Limites do Apigee

protocol.http.UnsupportedEncoding

  • Código de estado HTTP:
415 Unsupported Media
  • Mensagem de erro:
Unsupported Encoding "{encoding}"
  • Causa possível:
Este erro ocorre se o cabeçalho Content-Encoding enviado pelo cliente como parte da resposta HTTP contiver um formato de codificação/carga útil que não seja suportado pelo Apigee.
  • Especificação HTTP:
RFC 7231, secção 6.5.13: 415 Tipo de ficheiro de multimédia não suportado

protocol.http.* - Caused by target

protocol.http.BadPath

  • Código de estado HTTP:
500 Internal Server Error
  • Mensagem de erro:
Invalid request path
  • Causa possível:
Este erro ocorre se o URL do pedido 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 uma barra (/). Isto é inválido.
  • Especificação HTTP:

RFC 3986, secção 3: Componentes de sintaxe e RFC 3986, secção 3.3: Caminho

protocol.http.DuplicateHeader

  • Código de estado HTTP:
502 Bad Gateway
  • Mensagem de erro:
Duplicate Header "{header_name}"
  • Causa possível:
Este erro ocorre se o cabeçalho HTTP específico que não pode ter duplicados no Apigee aparecer mais do que uma vez com valores iguais ou diferentes como parte da resposta HTTP enviada pelo servidor de back-end para o Apigee.
  • Especificação HTTP:
RFC 7230, secção 3.2.2: ordem dos campos

protocol.http.EmptyHeaderName

  • Código de estado HTTP:
502 Bad Gateway
  • Mensagem de erro:
Header name cannot be empty
  • Causa possível:
Este erro ocorre se o nome do cabeçalho enviado pelo servidor de back-end como parte da resposta HTTP ao Apigee estiver vazio.
  • Especificação HTTP:
RFC 7230, secção 3.2: Campos de cabeçalho

Corrigir

Certifique-se de que a resposta HTTP enviada pelo servidor de back-end para o Apigee contém sempre um nome de cabeçalho válido de acordo com a RFC 7230, secção 3.2: Campos de cabeçalho.

protocol.http.EmptyPath

  • Código de estado HTTP:
500 Internal Server Error
  • Mensagem de erro:
Request path cannot be empty
  • Causa possível:
Este erro ocorre se o URL do pedido HTTP do servidor de back-end, representado pela variável de fluxo target.url, contiver um caminho vazio.
  • Especificação HTTP:

RFC 3986, secção 3: Componentes de sintaxe e RFC 3986, secção 3.3: Caminho

protocol.http.HeaderNameWithNonAsciiChar

  • Código de estado HTTP:
502 Bad Gateway
  • Mensagem de erro:
Header {header_name} contains non ascii character {character}
  • Causa possível:
Este erro ocorre se o nome do cabeçalho enviado pelo servidor de back-end como parte da resposta HTTP ao Apigee Edge contiver carateres não ASCII.
  • Especificação HTTP:

RFC 7230, secção 3.2: Campos de cabeçalho e RFC 7230, secção 3.2.6: Componentes de valor de campo

Corrigir

Certifique-se de que a resposta HTTP do servidor de back-end enviada para o Apigee não contém carateres não ASCII nos nomes dos cabeçalhos, conforme RFC 7230, secção 3.2.6: Field Value Components.

protocol.http.HeaderWithInvalidChar

  • Código de estado HTTP:
502 Bad Gateway
  • Mensagem de erro:
Header {header_name} contains invalid character {character}
  • Causa possível:
Este erro ocorre se o nome do cabeçalho enviado pelo servidor de back-end como parte da resposta HTTP contiver carateres inválidos, como igual (=), vírgula (,), ponto e vírgula (;), tabulação, CRLF e carater de nova linha.
  • Especificação HTTP:

RFC 7230, secção 3.2: Campos de cabeçalho e RFC 7230, secção 3.2.6: Componentes de valor de campo

Corrigir

Certifique-se de que a resposta HTTP do servidor de back-end enviada para o Apigee não contém carateres inválidos nos nomes dos cabeçalhos, de acordo com a RFC 7230, secção 3.2.6: Componentes de valor de campo

protocol.http.ProxyTunnelCreationFailed

  • Código de estado HTTP:
503 Service Unavailable
  • Mensagem de erro:
Proxy refused to create tunnel with response status {status code}
  • Causa possível:

Este erro ocorre durante a criação do túnel entre o Apigee e o servidor de back-end pelo servidor proxy devido a problemas de firewall, ACL (lista de controlo de acesso), DNS, disponibilidade do servidor de back-end, etc.

Nota: o código de estado na mensagem de erro (faultstring) indica a causa geral do problema.

protocol.http.Response306Reserved

  • Código de estado HTTP:
502 Bad Gateway
  • Mensagem de erro:
Response Status code 306 is reserved, so can't be used.
  • Causa possível:

Este erro ocorre se o servidor de back-end tiver respondido com o código de estado 306 ao Apigee.

O código de estado 306 foi definido numa versão anterior da especificação HTTP. De acordo com a especificação HTTP atual, este código está reservado e não deve ser usado.

  • Especificação HTTP:
RFC 7231, secção 6.3.5: 306 Reserved

Corrigir

Uma vez que o código de estado 306 está reservado, certifique-se de que o seu servidor de back-end não usa este código de estado ao enviar uma resposta ao Apigee.

protocol.http.Response405WithoutAllowHeader

  • Código de estado HTTP:
502 Bad Gateway
  • Mensagem de erro:
Received 405 Response without Allow Header
  • Causa possível:
O servidor de back-end responde com o código de estado 405 Method Not Allowed sem o cabeçalho "Allow".
  • Especificação HTTP:

RFC 7231, secção 6.5.5: 405 Method Not Allowed e RFC 7231, secção 7.4.1: Allow

protocol.http.ResponseWithBody

  • Código de estado HTTP:
502 Bad Gateway
  • Mensagem de erro:
Received {status_code} Response with message body
  • Causa possível:

Este erro ocorre se a resposta HTTP do servidor de back-end ao Apigee for 204 No Content ou 205 Reset Content, mas contiver o corpo da resposta e/ou um ou mais dos seguintes cabeçalhos:

  • Content-Length
  • Content-Encoding
  • Transfer-Encoding
  • Especificação HTTP:

RFC 7231, secção 6.3.5: 204 No Content e RFC 7231, secção 6.3.6: 205 Reset Content

protocol.http.TooBigBody

  • Código de estado HTTP:
502 Bad Gateway
  • Mensagem de erro:
Body buffer overflow
  • Causa possível:
Este erro ocorre se o tamanho da carga útil enviada pela aplicação cliente como parte do pedido HTTP para o Apigee for superior ao limite permitido no Apigee.
  • Limites:
Limites do Apigee

protocol.http.TooBigHeaders

  • Código de estado HTTP:
502 Bad Gateway
  • Mensagem de erro:
response headers size exceeding {limit}
  • Causa possível:
Este erro ocorre se o tamanho total de todos os cabeçalhos de resposta enviados pelo servidor de back-end como parte da resposta HTTP ao Apigee for superior ao limite permitido no Apigee.
  • Limites:
Limites do Apigee

protocol.http.TooBigLine

  • Código de estado HTTP:
502 Bad Gateway
  • Mensagem de erro:
response line size exceeding {limit}
  • Causa possível:
Este erro ocorre se o tamanho da linha de resposta enviada pelo servidor de back-end como parte da resposta HTTP ao Apigee for superior ao limite permitido no Apigee Edge.
  • Limites:
Limites do Apigee

protocol.http.UnsupportedEncoding

  • Código de estado HTTP:
415 Unsupported Media
  • Mensagem de erro:
Unsupported Encoding "{encoding}"
  • Causa possível:
Este 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/carga útil que não é suportado pelo Apigee.
  • Especificação HTTP:
RFC 7231, secção 6.5.13: 415 Tipo de ficheiro de multimédia não suportado

security.util.*

security.util.KeyAliasNotFound

  • Código de estado HTTP:
500 Internal Server Error
  • Mensagem de erro:
KeyAlias {KeyAlias_name} is not found in Keystore {Keystore_Name}
  • Causa possível:

Este erro ocorre se o KeyAlias específico referenciado no TargetEndpoint ou no TargetServer não for encontrado no Keystore específico.

Corrigir

Certifique-se de que o KeyAlias especificado no TargetEndpoint ou TargetServer existe e faz parte do repositório de chaves específico.

security.util.TrustStoreWithNoCertificates

  • Código de estado HTTP:
500 Internal Server Error
  • Mensagem de erro:
TrustStore {truststore_name} has no certificates
  • Causa possível:

Este erro ocorre se o Truststore específico referenciado no TargetEndpoint ou no TargetServer não contiver certificados.

Corrigir

Se quiser validar o certificado do servidor de back-end e quiser usar o Truststore num TargetEndpoint ou num TargetServer, então certifique-se de que o Truststore contém os certificados válidos do servidor de back-end.