การแก้ปัญหาข้อผิดพลาดในการทำให้นโยบาย 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 UI คุณจะเห็นกล่องโต้ตอบที่มีข้อผิดพลาด

สาเหตุ

ข้อผิดพลาดนี้เกิดขึ้นหากไม่ได้ระบุตัวแปรโฟลว์ที่มี JWT ที่จะถอดรหัสในองค์ประกอบ <Source> ของนโยบาย DecodeJWT

เช่น ข้อผิดพลาดจะเกิดขึ้นหากองค์ประกอบ <Source> ไม่มีค่าดังที่แสดงด้านล่าง

<Source></Source>

การวินิจฉัย

  1. ระบุชื่อนโยบาย DecodeJWT และชื่อองค์ประกอบที่ว่างเปล่าจากข้อความแสดงข้อผิดพลาด เช่น ข้อความแสดงข้อผิดพลาดต่อไปนี้ ชื่อของนโยบาย DecodeJWT คือ Decode_JWT และชื่อองค์ประกอบคือ Source

    Invalid empty element : policy(Decode_JWT) element(Source).
    
  2. ตรวจสอบนโยบาย DecodeJWT และตรวจสอบว่าองค์ประกอบที่ระบุในขั้นตอนที่ 1 ว่างเปล่าหรือไม่ หากองค์ประกอบว่างเปล่า นั่นเป็นสาเหตุของข้อผิดพลาด

    ตัวอย่างนโยบายการถอดรหัส JWT มีดังนี้

    <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>