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

כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של Apigee X.
מידע

InvalidEmptyElement

הודעת השגיאה

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

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>