Catalogue d'erreurs d'exécution

Vous consultez la documentation Apigee Edge.
Accéder à la documentation sur Apigee X
en savoir plus

Erreurs dans Apigee Edge

Lorsque des requêtes API sont effectuées via Apigee Edge, les composants Apigee Edge, les routeurs et les processeurs de messages, ou les serveurs backend, peuvent renvoyer des erreurs aux applications clientes.

Erreurs du processeur de messages

Le processeur de messages est le composant essentiel d'Apigee Edge qui traite les stratégies et interagit avec les serveurs backend. Il peut renvoyer des erreurs s'il détecte des problèmes tels que :

  • Problèmes de connectivité réseau, échecs de handshake TLS, indisponibilité du serveur backend, absence de réponse lors de la communication avec le serveur backend.
  • Échecs lors de l'exécution de la règle
  • En-têtes HTTP non valides, encodage, chemin, non-conformité avec les spécifications HTTP, dépassement des limites de produit, etc. :
    • Avec une requête HTTP envoyée par les applications clientes
    • OU

    • Avec la réponse HTTP envoyée par le serveur backend
  • Etc.

Exemple d'erreur provenant du processeur de messages

Le processeur de messages renvoie toujours un code d'état HTTP suivi d'un message d'erreur avec un code d'erreur au format JSON, comme indiqué ci-dessous :

L'application cliente obtient un code de réponse semblable à l'exemple suivant :

HTTP/1.1 414 Request-URI Too Long

Une réponse d'erreur du processeur de messages apparaît au format suivant :

{
   "fault":{
      "faultstring":"request line size exceeding 7,168",
      "detail":{
         "errorcode":"protocol.http.TooBigLine"
      }
   }
}

Description des champs de la réponse d'erreur :

Champ Description
faultstring Contient le message d'erreur décrivant la cause possible de l'erreur.
errorcode Code d'erreur associé à l'erreur

Catalogue d'erreurs d'exécution

Ce catalogue d'erreurs fournit toutes les informations que vous devez connaître sur les codes d'erreur d'exécution (pour les erreurs non liées aux règles) renvoyées par le composant de processeur de messages Apigee Edge. Il contient les informations suivantes pour chacun des codes d'erreur :

  • Code d'état HTTP
  • Message d'erreur
  • Causes possibles de l'erreur
  • Toutes les spécifications HTTP et/ou les limites de produits associées
  • Guides et vidéos contenant des instructions pour diagnostiquer la cause de l'erreur et des solutions efficaces que vous pouvez appliquer pour résoudre vous-même l'erreur (le cas échéant)
  • Correctif que vous pouvez appliquer pour résoudre vous-même l'erreur

Les catégories de code d'erreur suivantes sont traitées :

Utilisez le champ Rechercher ci-dessous pour filtrer le tableau de façon à afficher les informations ci-dessus pour un code d'erreur spécifique. Vous pouvez rechercher le code d'état ou tout contenu dans n'importe quel champ du tableau.

Code d'erreur Description Corriger

flow.*

flow.APITimedOut

  • Code d'état HTTP :
504 Gateway Timeout
  • Message d'erreur :
API timed out
  • Cause possible :

Cette erreur se produit dans les cas suivants :

  • Le serveur backend ne répond pas dans le délai avant expiration configuré par la propriété api.timeout pour le proxy d'API spécifique.
  • Une règle prend beaucoup de temps en raison d'opérations qui utilisent beaucoup de ressources de calcul, d'une charge élevée ou de performances médiocres.

Remarque:Ce guide de dépannage fournit des instructions pour résoudre le code d'erreur messaging.adaptors.http.flow.GatewayTimeout. Toutefois, vous pouvez utiliser le même guide pour résoudre le code d'erreur flow.APITimedOut.

GUIDE DE PRATIQUE

flow.SharedFlowNotFound

  • Code d'état HTTP :
500 Internal Server Error
  • Message d'erreur :
Shared Flow {shared_flow_name} Not Found
  • Cause possible :

Cette erreur se produit si le flux partagé spécifique :

  • Lieu inexistant
  • OU

  • Existe, mais n'est pas déployé
GUIDE DE PRATIQUE

messaging.adaptors.http.flow

messaging.adaptors.http.flow.ApplicationNotFound

  • Code d'état HTTP :
404 Not Found
  • Message d'erreur :
Unable to identify proxy for host: {virtual_host} and url: {pathsuffix}
  • Cause possible :

Cette erreur se produit dans l'un des scénarios suivants :

  1. Le proxy d'API spécifique est:
    1. PAS configuré pour accepter les requêtes sur l'hôte virtuel spécifique
    2. N'est PAS configuré pour accepter les requêtes sur le chemin spécifique utilisé dans la requête
    3. PAS déployé dans l'environnement spécifique dans lequel vous essayez d'effectuer les requêtes API
    4. PAS déployé sur un ou plusieurs processeurs de messages
  2. L'environnement spécifique dans lequel vous essayez d'effectuer les requêtes API n'est pas chargé sur un ou plusieurs processeurs de messages
GUIDE DE PRATIQUE
Cette erreur peut également se produire si plusieurs hôtes virtuels ont le même alias d'hôte et le même numéro de port. PLAYBOOK

messaging.adaptors.http.flow.DecompressionFailureAtRequest

  • Code d'état HTTP :
400 Bad Request
  • Message d'erreur :
Decompression failure at request
  • Cause possible :

Cette erreur ne se produit que dans les cas suivants :

  • L'encodage spécifié dans l'en-tête de requête HTTP Content-Encoding est valide et compatible avec Apigee Edge.
  • MAIS

  • Le format de la charge utile envoyée par le client dans le cadre de la requête HTTP ne correspond pas au format d'encodage spécifié dans l'en-tête Content-Encoding.
PLAYBOOK

messaging.adaptors.http.flow.DecompressionFailureAtResponse

  • Code d'état HTTP :
502 Bad Gateway
  • Message d'erreur :
Decompression failure at response
  • Cause possible :

Cette erreur ne se produit que dans les cas suivants :

  • L'encodage spécifié dans l'en-tête de réponse HTTP du serveur backend/cible Content-Encoding est valide et compatible avec Apigee Edge.
  • MAIS

  • Le format de la charge utile envoyée par le serveur backend/cible dans le cadre de la réponse HTTP ne correspond pas au format d'encodage spécifié dans l'en-tête Content-Encoding.
PLAYBOOK

messaging.adaptors.http.flow.ErrorResponseCode

  • Code d'état HTTP :
500

PLAYBOOK

VIDÉO

  • Message d'erreur :
Le message d'erreur et le format peuvent varier en fonction de la mise en œuvre du serveur backend.
  • Cause possible :
Cette erreur se produit si le serveur backend répond avec le code d'état 500 à Apigee Edge.
  • Code d'état HTTP :
503

PLAYBOOK

VIDÉO

  • Message d'erreur :
Le message d'erreur et le format peuvent varier en fonction de la mise en œuvre du serveur backend.
  • Cause possible :
Cette erreur se produit si le serveur backend répond avec le code d'état 503 à Apigee Edge.
  • Code d'état HTTP :
504 GUIDE
  • Message d'erreur :
Le message d'erreur et le format peuvent varier en fonction de la mise en œuvre du serveur backend.
  • Cause possible :
Cette erreur se produit si le serveur backend répond avec le code d'état 504 à Apigee Edge.

Remarque : Le code d'erreur messaging.adaptors.http.flow.ErrorResponseCode n'est pas renvoyé dans le message d'erreur envoyé aux applications clientes. En effet, ce code d'erreur est défini par Apigee Edge chaque fois que le serveur backend renvoie une erreur et l'un des codes d'état 4XX ou 5XX. Vous pouvez afficher ce code d'erreur dans la base de données d'analyse ou de surveillance des API, ou dans les journaux d'accès NGINX.

messaging.adaptors.http.flow.GatewayTimeout

  • Code d'état HTTP :
504 Gateway Timeout
  • Message d'erreur :
Gateway Timeout
  • Cause possible :
Cette erreur se produit si le serveur backend ne répond pas au processeur de messages Apigee Edge dans le délai avant expiration des E/S configuré sur le processeur de messages.
PLAYBOOK

messaging.adaptors.http.flow.LengthRequired

  • Code d'état HTTP :
411 Length Required
  • Message d'erreur :
'Content-Length' is missing
  • Cause possible :

Cette erreur se produit si l'en-tête Content-Length n'est pas transmis par l'application cliente dans le cadre des requêtes HTTP POST et PUT envoyées à Apigee Edge.

Remarque : Les requêtes échouant avec cette erreur ne peuvent pas être capturées dans l'outil Trace, car le processeur de messages effectue cette validation très tôt, bien avant de traiter la requête et d'exécuter toute règle dans le proxy d'API.

  • Spécification HTTP :
RFC Section 3.3.2: Content-Length (en anglais)

Corriger

Pour résoudre cette erreur, procédez comme suit :

  1. Assurez-vous que l'application cliente transmet toujours l'en-tête Content-Length dans les requêtes HTTP POST et PUT envoyées à Apigee Edge. Exemple :

    curl -X POST https://HOSTALIAS/PATH -d '{"name": "abc"}' -H "Content-Length: 15"
    
  2. Même si vous transmettez une charge utile vide avec des requêtes POST et PUT, assurez-vous que l'en-tête Content-Length: 0 est transmis. Exemple :

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

messaging.adaptors.http.flow.NoActiveTargets

  • Code d'état HTTP :
503 Service Unavailable
  • Message d'erreur :
The Service is temporarily unavailable
  • Cause possible :

Cette erreur se produit dans l'un des scénarios suivants, si vous utilisez TargetServer dans Apigee Edge:

  1. La résolution DNS incorrecte de l'hôte du serveur backend par le serveur d'autorisation personnalisé a entraîné des adresses IP incorrectes entraînant des erreurs de connexion.
  2. Erreurs de délai d'attente de connexion pour les raisons suivantes :
    1. La restriction de pare-feu sur le serveur backend empêche Apigee Edge de se connecter au serveur backend.
    2. Problèmes de connectivité réseau entre Apigee Edge et le serveur backend.
  3. L'hôte spécifié dans le TargetServer est incorrect ou comporte des caractères indésirables (tels qu'un espace).

GUIDE

LA VIDÉO

Cette erreur peut également se produire si les vérifications d'état configurées pour surveiller la vérification d'état des serveurs cibles échouent.

PLAYBOOK

LA VIDÉO

messaging.adaptors.http.flow.RequestTimeOut

  • Code d'état HTTP :
408 Request Timeout
  • Message d'erreur :
Request timed out
  • Cause possible :
Cette erreur se produit si le processeur de messages Apigee Edge ne reçoit pas la charge utile de requête de l'application cliente pour le délai avant expiration d'E/S configuré sur le composant de processeur de messages.

Corriger

Assurez-vous que l'application cliente envoie la charge utile de requête dans le délai avant expiration d'E/S configuré sur le composant de processeur de messages d'Apigee Edge.

messaging.adaptors.http.flow.ServiceUnavailable

  • Code d'état HTTP :
503 Service Unavailable
  • Message d'erreur :
The Service is temporarily unavailable
  • Cause possible :

Cette erreur se produit dans l'un des scénarios suivants :

  1. La résolution DNS incorrecte de l'hôte du serveur backend par le serveur d'autorisation personnalisé a entraîné des adresses IP incorrectes entraînant des erreurs de connexion.
  2. Erreurs de délai d'attente de la connexion pour les raisons suivantes :
    1. La restriction de pare-feu sur le serveur backend empêche Apigee Edge de se connecter au serveur backend.
    2. Problèmes de connectivité réseau entre Apigee Edge et le serveur backend.
  3. L'hôte du serveur cible spécifié dans le point de terminaison cible est incorrect ou contient des caractères indésirables (tels que de l'espace).

GUIDE

Échec DNS:

VIDÉO

Connectivité réseau:

VIDÉO

Cette erreur peut également se produire si le serveur backend ferme prématurément la connexion alors que le processeur de messages envoie toujours la charge utile de requête au serveur backend. PLAYBOOK

messaging.adaptors.http.flow.SslHandshakeFailed

  • Code d'état HTTP :
503 Service Unavailable
  • Message d'erreur :
SSL Handshake failed {error_message}
  • Cause possible :

Cette erreur se produit lors du processus de handshake SSL entre le processeur de messages d'Apigee Edge et le serveur de backend dans les cas suivants:

  1. Truststore du processeur de messages d'Apigee Edge :
    • Contient une chaîne de certificats qui ne correspond pas à la chaîne de certificats complète du serveur backend.
    • OU

    • Ne contient pas la chaîne de certificats complète du serveur backend
  2. La chaîne de certificats présentée par le serveur de backend :
    • Contient un nom de domaine complet (FQDN) qui ne correspond pas au nom d'hôte spécifié dans le point de terminaison cible
    • OU

    • Contient une chaîne de certificats incorrecte ou incomplète

PLAYBOOK

VIDÉO

messaging.adaptors.http.flow.UnexpectedEOFAtTarget

  • Code d'état HTTP :
502 Bad Gateway
  • Message d'erreur :
Unexpected EOF at target
  • Cause possible :

Cette erreur se produit dans l'un des scénarios suivants :

  1. TargetServer n'est pas correctement configuré pour prendre en charge les connexions TLS/SSL dans Apigee Edge.
  2. Le serveur backend peut fermer brusquement la connexion, pendant qu'Apigee Edge attend une réponse du serveur backend.
  3. Veillez à ce que les délais avant expiration actifs sont mal configurés sur Apigee et sur le serveur backend.
PLAYBOOK

messaging.runtime.*

messaging.runtime.RouteFailed

  • Code d'état HTTP :
500 Internal Server Error
  • Message d'erreur :
Unable to route the message to a TargetEndpoint
  • Cause possible :

Cette erreur se produit si Apigee Edge ne peut pas acheminer la requête vers l'un des TargetEndpoints pour les raisons suivantes:

  • Aucune condition de règle de routage (<RouteRule>) ne correspond à la requête dans un proxy.
  • "AND"

  • Aucune règle de routage par défaut n'est définie dans le ProxyEndpoint (par exemple, <RouteRule> sans aucune condition)

Corriger

Pour résoudre cette erreur, procédez comme suit :

  1. Examinez les règles de routage définies dans votre ProxyEndpoint et modifiez-les pour vous assurer qu'au moins une condition de règle de routage correspond à votre requête.
  2. Il est recommandé de définir une règle de routage default sans condition lorsque vous avez plusieurs règles de routage.
  3. Assurez-vous que la règle de routage par défaut est toujours définie en dernier dans la liste des routes conditionnelles, car les règles sont évaluées de haut en bas dans le point de terminaison proxy.

Pour en savoir plus sur la définition des conditions <RouteRule> dans un ProxyEndpoint, consultez la page Cibles conditionnelles.

messaging.runtime.SenseRaiseFault

  • Code d'état HTTP :
403 Forbidden
  • Message d'erreur :
Sense Fault
  • Cause possible :
Cette erreur se produit si une requête API est effectuée à partir d'une adresse IP client spécifique qui est bloquée dans le cadre des règles Apigee Sense.

Corriger

Pour résoudre cette erreur, procédez comme suit :

  1. Vérifiez que vous avez bloqué l'adresse IP du client spécifique en vérifiant les règles configurées dans Apigee Sense. S'il est bloqué, cela signifie qu'il fonctionne comme prévu.
  2. Si l'adresse IP client spécifique n'est pas bloquée, mais que vous recevez toujours cette erreur, contactez l'assistance Apigee Edge.

protocol.http.* - Caused due to bad request

protocol.http.BadFormData

  • Code d'état HTTP :
500 Internal Server Error
  • Message d'erreur :
Bad Form Data
  • Cause possible :

Cette erreur se produit si et seulement si toutes les conditions suivantes sont remplies :

  1. La requête HTTP envoyée par le client à Apigee Edge contient les éléments suivants :
    • Content-Type: application/x-www-form-urlencoded et
    • Données de formulaire avec le signe de pourcentage (%) ou le signe de pourcentage (%) suivi de caractères hexadécimaux non valides qui ne sont pas autorisés conformément àForms – Section 17.13.4.1 (en anglais).
  2. Le proxy d'API dans Apigee Edge lit les paramètres de formulaire spécifiques contenant tous les caractères non autorisés à l'aide de ExtractVariables ou de la stratégie AffectMessage dans le flux de requête.
PLAYBOOK

protocol.http.DuplicateHeader

  • Code d'état HTTP :
400 Bad Request
  • Message d'erreur :
Duplicate Header "{header_name}"
  • Cause possible :
Cette erreur se produit si un en-tête HTTP spécifique qui n'est pas autorisé à avoir des doublons dans Apigee Edge, apparaît plusieurs fois avec des valeurs identiques ou différentes dans le cadre de la requête HTTP envoyée par l'application cliente à Apigee Edge.
  • Spécification HTTP :
RFC 7230, section 3.2.2: Field Order (en anglais)
GUIDE DE PRATIQUE

protocol.http.EmptyHeaderName

  • Code d'état HTTP :
400 Bad Request
  • Message d'erreur :
Header name cannot be empty
  • Cause possible :
Cette erreur se produit si le nom d'en-tête envoyé dans le cadre de la requête HTTP envoyée par l'application cliente à Apigee Edge est vide.
  • Spécification HTTP :
RFC 7230, section 3.2: Header Fields (en anglais)

Corriger

Assurez-vous que la requête HTTP envoyée par l'application cliente à Apigee Edge contient toujours un nom d'en-tête valide conformément à la section 3.2 du document RFC 7230 sur les champs d'en-tête.

protocol.http.HeaderNameWithNonAsciiChar

  • Code d'état HTTP :
400 Bad Request
  • Message d'erreur :
Header {header_name} contains non ascii character {character}
  • Cause possible :
Cette erreur se produit si le nom d'en-tête envoyé dans le cadre de la requête HTTP envoyée par l'application cliente à Apigee Edge contient des caractères non-ASCII.
  • Spécification HTTP :

RFC 7230, section 3.2: Header Fields (en anglais) et RFC 7230, section 3.2.6: Field Value Components (en anglais)

Corriger

Assurez-vous que la requête HTTP du client envoyée à Apigee Edge ne contient pas de caractères non-ASCII dans les noms d'en-tête, conformément à la section 3.2.6 du document RFC 7230 sur les composants des valeurs de champ.

protocol.http.HeaderWithInvalidChar

  • Code d'état HTTP :
400 Bad Request
  • Message d'erreur :
Header {header_name} contains invalid character {character}
  • Cause possible :
Cette erreur se produit si le nom d'en-tête envoyé dans le cadre de la requête HTTP par l'application cliente à Apigee Edge contient des caractères non valides, tels que (=), virgule (,), point-virgule (;), tabulation, CRLF et le caractère de nouvelle ligne.
  • Spécification HTTP :

RFC 7230, section 3.2: Header Fields (en anglais) et RFC 7230, section 3.2.6: Field Value Components (en anglais)

Corriger

Assurez-vous que la requête HTTP envoyée par l'application cliente à Apigee Edge ne contient aucun caractère non valide dans les noms d'en-tête, conformément à la section 3.2.6 du document RFC 7230 sur les composants des valeurs de champ.

protocol.http.InvalidPath

  • Code d'état HTTP :
400 Bad Request
  • Message d'erreur :
Invalid path {path}
  • Cause possible :
Cette erreur se produit si le chemin d'accès dans l'URL de requête HTTP envoyée par l'application cliente à Apigee Edge contient des caractères non autorisés, conformément à la section 3.3 du document RFC 3986: Path (en anglais).
  • Spécification HTTP :

RFC 3986, section 3: Syntax Components (en anglais) et RFC 3986, section 3.3: Path (en anglais)

Corriger

Assurez-vous que le chemin d'accès dans l'URL de requête HTTP envoyée par l'application cliente à Apigee Edge ne contient aucun caractère non autorisé, conformément à la section 3.3 du document RFC 3986: Path (en anglais).

protocol.http.TooBigBody

  • Code d'état HTTP :
413 Request Entity Too Large
  • Message d'erreur :
Body buffer overflow
  • Cause possible :
Cette erreur se produit si la taille de la charge utile envoyée par l'application cliente dans le cadre d'une requête HTTP à Apigee Edge est supérieure à la limite autorisée dans Apigee Edge.
  • Restrictions :
Limites d'Apigee Edge
PLAYBOOK

protocol.http.TooBigHeaders

  • Code d'état HTTP :
431 Request Header Fields Too Large
  • Message d'erreur :
request headers size exceeding {limit}
  • Cause possible :
La taille totale de tous les en-têtes de requête envoyés par l'application cliente dans le cadre de la requête HTTP à Apigee Edge est supérieure à la limite autorisée dans Apigee Edge.
  • Spécification HTTP :
RFC 6585, section 5: 431 Request Header Fields Too Large (en anglais)
  • Restrictions :
Limites d'Apigee Edge
PLAYBOOK

protocol.http.TooBigLine

  • Code d'état HTTP :
414 Request-URI Too Long
  • Message d'erreur :
request line size exceeding {limit}
  • Cause possible :
Cette erreur se produit si la taille de la ligne de requête envoyée par l'application cliente dans le cadre d'une requête HTTP à Apigee Edge est supérieure à la limite autorisée dans Apigee Edge.
  • Restrictions :
Limites d'Apigee Edge
PLAYBOOK

protocol.http.UnsupportedEncoding

  • Code d'état HTTP :
415 Unsupported Media
  • Message d'erreur :
Unsupported Encoding "{encoding}"
  • Cause possible :
Cette erreur se produit si l'en-tête Content-Encoding envoyé par le client dans le cadre de la réponse HTTP contient un format d'encodage/de charge utile incompatible avec Apigee Edge.
  • Spécification HTTP :
RFC 7231, section 6.5.13: 415 Unsupported Media Type (en anglais)
PLAYBOOK

protocol.http.* - Caused by target

protocol.http.BadPath

  • Code d'état HTTP :
500 Internal Server Error
  • Message d'erreur :
Invalid request path
  • Cause possible :
Cette erreur se produit si l'URL de requête du serveur backend, représentée par la variable de flux target.url, contient un chemin commençant par un point d'interrogation (?) au lieu d'une barre oblique (/), qui est non valide.
  • Spécification HTTP :

RFC 3986, section 3: Syntax Components (en anglais) et RFC 3986, section 3.3: Path (en anglais)

PLAYBOOK

protocol.http.DuplicateHeader

  • Code d'état HTTP :
502 Bad Gateway
  • Message d'erreur :
Duplicate Header "{header_name}"
  • Cause possible :
Cette erreur se produit si l'en-tête HTTP spécifique qui n'est pas autorisé à contenir des doublons dans Apigee Edge apparaît plusieurs fois avec des valeurs identiques ou différentes dans la réponse HTTP envoyée par le serveur backend à Apigee Edge.
  • Spécification HTTP :
RFC 7230, section 3.2.2: Field Order (en anglais)
GUIDE

protocol.http.EmptyHeaderName

  • Code d'état HTTP :
502 Bad Gateway
  • Message d'erreur :
Header name cannot be empty
  • Cause possible :
Cette erreur se produit si le nom d'en-tête envoyé par le serveur backend dans le cadre de la réponse HTTP à Apigee Edge est vide.
  • Spécification HTTP :
RFC 7230, section 3.2: Header Fields (en anglais)

Corriger

Assurez-vous que la réponse HTTP envoyée par le serveur backend à Apigee Edge contient toujours un nom d'en-tête valide, conformément à la section 3.2 du document RFC 7230: Header Fields (en anglais).

protocol.http.EmptyPath

  • Code d'état HTTP :
500 Internal Server Error
  • Message d'erreur :
Request path cannot be empty
  • Cause possible :
Cette erreur se produit si l'URL de requête HTTP du serveur backend, représentée par la variable de flux target.url, contient un chemin vide.
  • Spécification HTTP :

RFC 3986, section 3: Syntax Components (en anglais) et RFC 3986, section 3.3: Path (en anglais)

PLAYBOOK

protocol.http.HeaderNameWithNonAsciiChar

  • Code d'état HTTP :
502 Bad Gateway
  • Message d'erreur :
Header {header_name} contains non ascii character {character}
  • Cause possible :
Cette erreur se produit si le nom d'en-tête envoyé par le serveur backend dans le cadre de la réponse HTTP à Apigee Edge contient des caractères non-ASCII.
  • Spécification HTTP :

RFC 7230, section 3.2: Header Fields (en anglais) et RFC 7230, section 3.2.6: Field Value Components (en anglais)

Corriger

Assurez-vous que la réponse HTTP du serveur backend envoyée à Apigee Edge ne contient pas de caractères non-ASCII dans les noms d'en-têtes, conformément à la section 3.2.6 du document RFC 7230: Field Value Components (en anglais).

protocol.http.HeaderWithInvalidChar

  • Code d'état HTTP :
502 Bad Gateway
  • Message d'erreur :
Header {header_name} contains invalid character {character}
  • Cause possible :
Cette erreur se produit si le nom d'en-tête envoyé par le serveur backend dans le cadre de la réponse HTTP contient des caractères non valides, tels que égal (=), virgule (,), point-virgule (;), tabulation, CRLF et caractère de nouvelle ligne.
  • Spécification HTTP :

RFC 7230, section 3.2: Header Fields (en anglais) et RFC 7230, section 3.2.6: Field Value Components (en anglais)

Corriger

Assurez-vous que la réponse HTTP du serveur backend envoyée à Apigee Edge ne contient aucun caractère non valide dans les noms d'en-têtes, conformément à la section 3.2.6 du document RFC 7230: Field Value Components (en anglais).

protocol.http.ProxyTunnelCreationFailed

  • Code d'état HTTP :
503 Service Unavailable
  • Message d'erreur :
Proxy refused to create tunnel with response status {status code}
  • Cause possible :

Cette erreur se produit lors de la création du tunnel entre Apigee Edge et le serveur de backend par le serveur proxy en raison du pare-feu, de la liste de contrôle d'accès (LCA), des problèmes DNS, de la disponibilité du serveur backend, etc.

Remarque : Le code d'état du message d'erreur (faultstring) fournit la cause de haut niveau du problème.

PLAYBOOK

protocol.http.Response306Reserved

  • Code d'état HTTP :
502 Bad Gateway
  • Message d'erreur :
Response Status code 306 is reserved, so can't be used.
  • Cause possible :

Cette erreur se produit si le serveur backend a répondu avec le code d'état 306 à Apigee Edge.

Le code d'état 306 a été défini dans une version précédente de la spécification HTTP. Conformément à la spécification HTTP actuelle, ce code est réservé et ne doit pas être utilisé.

  • Spécification HTTP :
RFC 7231, section 6.3.5: 306 Reserved (en anglais)

Corriger

Étant donné que le code d'état 306 est réservé, assurez-vous que votre serveur backend n'utilise pas ce code d'état lors de l'envoi d'une réponse à Apigee Edge.

protocol.http.Response405WithoutAllowHeader

  • Code d'état HTTP :
502 Bad Gateway
  • Message d'erreur :
Received 405 Response without Allow Header
  • Cause possible :
Le serveur backend répond avec le code d'état 405 Method Not Allowed sans l'en-tête "Allow".
  • Spécification HTTP :

RFC 7231, section 6.5.5: 405 Method Not Allowed et RFC 7231, section 7.4.1: Allow (en anglais)

PLAYBOOK

protocol.http.ResponseWithBody

  • Code d'état HTTP :
502 Bad Gateway
  • Message d'erreur :
Received {status_code} Response with message body
  • Cause possible :

Cette erreur se produit si la réponse HTTP du serveur backend à Apigee Edge est 204 No Content ou 205 Reset Content mais qu'elle contient le corps de la réponse et/ou un ou plusieurs des en-têtes suivants:

  • Content-Length
  • Content-Encoding
  • Transfer-Encoding
  • Spécification HTTP :

RFC 7231, section 6.3.5: 204 No Content (en anglais) et RFC 7231, section 6.3.6: 205 Reset Content (en anglais)

PLAYBOOK

protocol.http.TooBigBody

  • Code d'état HTTP :
502 Bad Gateway
  • Message d'erreur :
Body buffer overflow
  • Cause possible :
Cette erreur se produit si la taille de la charge utile envoyée par l'application cliente dans le cadre d'une requête HTTP à Apigee Edge est supérieure à la limite autorisée dans Apigee Edge.
  • Restrictions :
Limites d'Apigee Edge
PLAYBOOK

protocol.http.TooBigHeaders

  • Code d'état HTTP :
502 Bad Gateway
  • Message d'erreur :
response headers size exceeding {limit}
  • Cause possible :
Cette erreur se produit si la taille totale de tous les en-têtes de réponse envoyés par le serveur backend dans le cadre de la réponse HTTP à Apigee Edge est supérieure à la limite autorisée dans Apigee Edge.
  • Restrictions :
Limites d'Apigee Edge
PLAYBOOK

protocol.http.TooBigLine

  • Code d'état HTTP :
502 Bad Gateway
  • Message d'erreur :
response line size exceeding {limit}
  • Cause possible :
Cette erreur se produit si la taille de la ligne de réponse envoyée par le serveur backend dans le cadre de la réponse HTTP à Apigee Edge est supérieure à la limite autorisée dans Apigee Edge.
  • Restrictions :
Limites d'Apigee Edge
PLAYBOOK

protocol.http.UnsupportedEncoding

  • Code d'état HTTP :
415 Unsupported Media
  • Message d'erreur :
Unsupported Encoding "{encoding}"
  • Cause possible :
Cette erreur se produit si l'en-tête Content-Encoding envoyé par le serveur backend dans le cadre de la réponse HTTP contient un format d'encodage/de charge utile non compatible avec Apigee Edge.
  • Spécification HTTP :
RFC 7231, section 6.5.13: 415 Unsupported Media Type (en anglais)
PLAYBOOK

security.util.*

security.util.KeyAliasNotFound

  • Code d'état HTTP :
500 Internal Server Error
  • Message d'erreur :
KeyAlias {KeyAlias_name} is not found in Keystore {Keystore_Name}
  • Cause possible :

Cette erreur se produit si l'élément KeyAlias référencé dans le TargetEndpoint ou le TargetServer est introuvable dans le keystore spécifique.

Corriger

Assurez-vous que le KeyAlias spécifié dans le TargetEndpoint ou le TargetServer existe et qu'il fait partie du Keystore spécifique.

security.util.TrustStoreWithNoCertificates

  • Code d'état HTTP :
500 Internal Server Error
  • Message d'erreur :
TrustStore {truststore_name} has no certificates
  • Cause possible :

Cette erreur se produit si le truststore spécifique référencé dans le TargetEndpoint ou le TargetServer ne contient aucun certificat.

Corriger

Si vous souhaitez valider le certificat du serveur backend et utiliser le truststore dans un TargetEndpoint ou un TargetServer, assurez-vous que le Truststore contient les certificats valides du serveur backend.