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

    ตัวอย่างนโยบาย 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>