Dépannage des erreurs d'exécution de HTTPModifier

Vous consultez la documentation d'Apigee X.
Consultez la documentation d'Apigee Edge.

UnresolvedVariable

Code d'erreur

steps.httpmodifier.UnresolvedVariable

Corps de la réponse d'erreur

{
    "fault": {
        "faultstring": "HTTPModifier[policy_name]: unable to resolve variable [variable_name]",
        "detail": {
            "errorcode": "steps.httpmodifier.UnresolvedVariable"
        }
    }
}

Cause

Cette erreur se produit si une variable spécifiée dans la règle HTTPModifier répond à l'une des conditions suivantes :

  • hors du champ d'application (non disponible dans le flux spécifique où la règle est exécutée), ou
  • impossible à résoudre (non définie).

Diagnostic

  1. Identifiez la règle HTTPModifier dans laquelle l'erreur s'est produite et le nom de la variable qui n'est pas disponible. Vous pouvez trouver ces deux éléments dans l'élément faultstring de la réponse d'erreur.

    Par exemple, dans l'élément faultstring suivant, le nom de la règle est googleBook et la variable est var :

    "faultstring": "HTTPModifier[googleBook]: unable to resolve variable var"
    
  2. Dans le fichier XML de la règle HTTPModifier ayant échoué, vérifiez que le nom de la variable utilisée correspond au nom de la variable identifié dans la chaîne d'erreur (étape 1 ci-dessus).

  3. Déterminez si la variable est définie et disponible dans le flux dans lequel la règle HTTPModifier est en cours d'exécution.

  4. Si la variable est :

    1. hors du champ d'application (non disponible dans le flux spécifique où la règle est exécutée), ou
    2. impossible à résoudre (non définie),

    alors il s'agit de la cause de l'erreur.

    Vérifiez si la variable est définie dans l'une des stratégies exécutées avant la règle HTTPModifier dans le flux de requêtes. Si la variable n'a pas été définie, vous recevez le code d'erreur :

    steps.httpmodifier.UnresolvedVariable
    

Solution

Vérifiez que la variable référencée dans la stratégie existe et qu'elle est disponible dans le flux spécifique où la règle HTTPModifier est en cours d'exécution.