פתרון בעיות הקשורות לשגיאות בפריסת מדיניות

מוצג המסמך של Apigee Edge.
עוברים אל מסמכי תיעוד של Apigee X.
מידע

InvalidEmptyElement

הודעת שגיאה

נכשלה הפריסה של שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או 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>