Risoluzione dei problemi di errore di deployment del criterio DecodeJWT

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

InvalidEmptyElement

Messaggio di errore

Il deployment del proxy API tramite la UI Edge o l'API di gestione Edge non riesce e viene visualizzato questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Nell'interfaccia utente Edge, vedrai una finestra di dialogo con un errore:

Causa

Questo errore si verifica se la variabile di flusso contenente il JWT da decodificare non è specificata nell'elemento <Source> del criterio DecodeJWT.

Ad esempio, l'errore si verifica se l'elemento <Source> non contiene un valore, come mostrato di seguito:

<Source></Source>

Diagnosi

  1. Identifica il nome della policy DecodeJWT e il nome dell'elemento vuoto dal messaggio di errore. Ad esempio, nel seguente messaggio di errore, il nome della policy DecodeJWT è Decode_JWT e il nome dell'elemento è Source.

    Invalid empty element : policy(Decode_JWT) element(Source).
  2. Esamina il criterio DecodeJWT e verifica se l'elemento identificato nel passaggio 1 è vuoto. Se l'elemento è vuoto, questo è il motivo dell'errore.

    Ecco un esempio di criterio DecodeJWT:

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

    Poiché l'elemento <Source> è vuoto, viene visualizzato l'errore:

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

Risoluzione

Assicurati che l'elemento <Source> specifichi un JWT valido in una variabile di flusso.

Per risolvere il problema con la policy di esempio DecodeJWT, puoi specificare la variabile di flusso contenente un JWT valido nell'elemento <Source>.

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