Risoluzione degli errori di deployment dei criteri DecodeJWT

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

InvalidEmptyElement

Messaggio di errore

Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale 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

Nella UI di Edge, vedrai una finestra di dialogo con un errore:

Causa

Questo errore si verifica se la variabile di flusso contenente JWT da decodifica 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>

Diagnostica

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

    Invalid empty element : policy(Decode_JWT) element(Source).
    
  2. Esamina il criterio DecodeJWT e verifica che l'elemento identificato nel passaggio 1 sia vuoto. Se l'elemento è vuoto, è questa la causa 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 relativo al criterio DecodeJWT di esempio, 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>