DecodeJWT politika dağıtımı hatası sorunlarını giderme

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

InvalidEmptyElement

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması başarısız şu hata mesajıyla:

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

Örnek hata mesajı

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

Örnek ekran görüntüsü

Edge kullanıcı arayüzünde hata içeren bir iletişim kutusu görürsünüz:

Neden

Bu hata, kodu çözülecek JWT içeren akış değişkeni DecodeJWT politikasının <Source> öğesinde belirtilmemiş.

Örneğin, <Source> öğesi değeri aşağıda gösterildiği gibidir:

<Source></Source>

Teşhis

  1. DecodeJWT politikasının adını ve hata mesajındaki boş olan öğenin adını tanımlayın. Örneğin, aşağıdaki hata mesajında DecodeJWT politikasının adı Decode_JWT, öğe adı ise Source şeklindedir.

    Invalid empty element : policy(Decode_JWT) element(Source).
  2. DecodeJWT politikasını inceleyin ve 1. adımda tanımlanan öğenin boş olup olmadığını doğrulayın. Öğe boşsa hatanın nedeni budur.

    Aşağıda örnek bir DecodeJWT politikası verilmiştir:

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

    <Source> öğesi boş olduğundan şu hatayı alırsınız:

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

Çözünürlük

<Source> öğesinin bir akış değişkeninde geçerli bir JWT belirttiğinden emin olun.

Örnek DecodeJWT politikasıyla ilgili sorunu düzeltmek için <Source> öğesinde geçerli bir JWT içeren akış değişkenini belirtebilirsiniz.

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