Résoudre les erreurs de déploiement de la règle DecodeJWT

<ph type="x-smartling-placeholder"></ph> Vous consultez la documentation Apigee Edge.
Accédez à la page Documentation sur Apigee X.
En savoir plus

InvalidEmptyElement

Message d'erreur

Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue par ce message d'erreur:

Error Saving Revision
Invalid empty element : policy(policy_name) element(Source)

Exemple de message d'erreur

Error Saving Revision
Invalid empty element : policy(Decode_JWT) element(Source).

Exemple de capture d'écran

Dans l'interface utilisateur Edge, une boîte de dialogue contenant une erreur s'affiche:

Cause

Cette erreur se produit si la variable de flux contenant le jeton JWT à décoder n'est pas spécifiée dans l'élément <Source> de la règle DecodeJWT.

Par exemple, l'erreur se produira si l'élément <Source> ne contient pas de valeur, comme indiqué ci-dessous :

<Source></Source>

Diagnostic

  1. Identifiez le nom de la stratégie DecodeJWT et le nom de l'élément vide dans le message d'erreur. Par exemple, dans le message d'erreur suivant, le nom de la règle DecodeJWT est Decode_JWT et le nom de l'élément est Source.

    Invalid empty element : policy(Decode_JWT) element(Source).
  2. Examinez la règle DecodeJWT et vérifiez si l'élément identifié à l'étape 1 est vide. Si l'élément est vide, il s'agit de la cause de l'erreur.

    Voici un exemple de stratégie DecodeJWT :

    <DecodeJWT name="Decode_JWT">
        <DisplayName>JWT Decode HS256</DisplayName>
        <Source></Source>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    </DecodeJWT>
    

    Comme l'élément <Source> est vide, l'erreur suivante s'affiche :

    Invalid empty element : policy(Decode_JWT) element(Source).
    

Solution

Assurez-vous que l'élément <Source> spécifie un jeton JWT valide dans une variable de flux.

Pour résoudre le problème dans l'exemple de règle DecodeJWT, vous pouvez spécifier la variable de flux contenant un jeton JWT valide dans l'élément <Source>.

<DecodeJWT name="Decode_JWT">
    <DisplayName>JWT Decode HS256</DisplayName>
    <Source>var.jwt</Source>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
</DecodeJWT>