Rozwiązywanie problemów związanych z błędem wdrożenia zasady dekodowania JWT

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

InvalidEmptyElement

Komunikat o błędzie

Nie udało się wdrożyć serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API z tym komunikatem o błędzie:

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

Przykładowy komunikat o błędzie

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

Przykładowy zrzut ekranu

W interfejsie Edge zobaczysz okno z błędem:

Przyczyna

Ten błąd występuje, jeśli zmienna przepływu zawiera token JWT, który ma zostać zdekodowany nie jest określony w elemencie <Source> zasady DecodeJWT.

Błąd wystąpi na przykład wtedy, gdy element <Source> nie zawiera Jak poniżej:

<Source></Source>

Diagnostyka

  1. Podaj nazwę zasady DecodeJWT i nazwę elementu, który jest pusty w komunikacie o błędzie. Na przykład w tym komunikacie o błędzie nazwa zasady DecodeJWT to Decode_JWT, a nazwa elementu – Source.

    Invalid empty element : policy(Decode_JWT) element(Source).
  2. Sprawdź zasadę DecodeJWT i upewnij się, że element wskazany w kroku 1 jest pusty. Jeśli element jest pusty, to to jest przyczyną błędu.

    Oto przykładowa zasada DecodeJWT:

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

    Element <Source> jest pusty, więc występuje błąd:

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

Rozdzielczość

Sprawdź, czy element <Source> określa prawidłowy token JWT w zmiennej przepływu.

Aby rozwiązać problem z przykładową zasadą DecodeJWT, możesz w elemencie <Source> podać zmienną przepływu zawierającą prawidłowy token JWT.

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