Fehlerbehebung bei der Bereitstellung von DecodeJWT-Richtlinien

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

InvalidEmptyElement

Fehlermeldung

Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt fehl mit dieser Fehlermeldung:

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

Beispiel für Fehlermeldung

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

Beispiel-Screenshot

In der Edge-Benutzeroberfläche wird ein Dialogfeld mit einem Fehler angezeigt:

Ursache

Dieser Fehler tritt auf, wenn die Ablaufvariable mit JWT-Code, das decodiert werden soll, nicht im Element <Source> der DecodeJWT-Richtlinie angegeben ist.

Wenn beispielsweise das Element <Source> keinen Wert enthält, wie unten gezeigt, tritt der Fehler auf:

<Source></Source>

Diagnose

  1. Ermitteln Sie den Namen der DecodeJWT-Richtlinie und den Namen des Elements, das in der Fehlermeldung leer ist. In der folgenden Fehlermeldung lautet der Name der DecodeJWT-Richtlinie beispielsweise Decode_JWT und der Elementname Source.

    Invalid empty element : policy(Decode_JWT) element(Source).
  2. Überprüfen Sie die DecodeJWT-Richtlinie und stellen Sie sicher, dass das in Schritt 1 identifizierte Element leer ist. Wenn das Element leer ist, ist dies die Ursache des Fehlers.

    Hier ein Beispiel für eine DecodeJWT-Richtlinie:

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

    Da das Element <Source> leer ist, wird der Fehler angezeigt:

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

Lösung

Prüfen Sie, ob das Element <Source> ein gültiges JWT in einer Ablaufvariable angibt.

Um das Problem mit der DecodeJWT-Beispielrichtlinie zu beheben, können Sie die Ablaufvariable mit einem gültigen JWT im Element <Source> angeben.

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