פתרון בעיות בפריסת מדיניות DecodeJWT

אתם צופים במסמכי התיעוד של Apigee ושל Apigee Hybrid.
לעיון במסמכי התיעוד של Apigee Edge.

InvalidEmptyElement

הודעת השגיאה

פריסת ה-proxy ל-API דרך ממשק המשתמש או ה-API של Apigee נכשלת עם הודעת השגיאה הבאה:

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

הודעת שגיאה לדוגמה

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

דוגמה לצילום מסך

בממשק המשתמש של Apigee, תוצג תיבת דו-שיח עם שגיאה:

אירעה שגיאה בשמירת השינוי.

מטרה

השגיאה הזו מתרחשת אם משתנה הזרימה שמכיל את אסימון ה-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>