عیب یابی خطای استقرار خط مشی DecodeJWT

شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید .
اطلاعات

InvalidEmptyElement

پیغام خطا

استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:

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

نمونه پیام خطا

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

نمونه اسکرین شات

در رابط کاربری Edge، یک کادر محاوره ای با خطا مشاهده خواهید کرد:

علت

این خطا در صورتی رخ می دهد که متغیر جریان حاوی JWT که قرار است رمزگشایی شود در عنصر <Source> خط مشی DecodeJWT مشخص نشده باشد.

برای مثال، اگر عنصر <Source> حاوی مقدار نباشد، مانند شکل زیر، خطا رخ خواهد داد:

<Source></Source>

تشخیص

  1. نام خط مشی DecodeJWT و نام عنصری که از پیام خطا خالی است را شناسایی کنید. به عنوان مثال، در پیام خطای زیر، نام سیاست DecodeJWT Decode_JWT و نام عنصر Source است.

    Invalid empty element : policy(Decode_JWT) element(Source).
    
  2. خط مشی DecodeJWT را بررسی کنید و بررسی کنید که آیا عنصر مشخص شده در مرحله 1 خالی است یا خیر. اگر عنصر خالی است، دلیل این خطا است.

    در اینجا یک نمونه از سیاست DecodeJWT آمده است:

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

    چون عنصر <Source> خالی است، با این خطا مواجه می شوید:

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

قطعنامه

اطمینان حاصل کنید که عنصر <Source> یک JWT معتبر را در یک متغیر جریان مشخص می کند.

برای رفع مشکل نمونه خط مشی DecodeJWT، می توانید متغیر جریان حاوی یک JWT معتبر را در عنصر <Source> مشخص کنید.

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