คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
InvalidIndex
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API จะล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Saving Revision revision_number Invalid index index in KeyValueMapStepDefinition policy_name.
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Saving Revision 2
Invalid index 0 in KeyValueMapStepDefinition GetKVM.
ตัวอย่างภาพหน้าจอแสดงข้อผิดพลาด

สาเหตุ
หากแอตทริบิวต์ index ที่ระบุในองค์ประกอบ <Get> ของนโยบายการดำเนินการแมปค่าคีย์เป็น 0 หรือเป็นจำนวนลบ การทำให้พร็อกซี API ใช้งานได้จะล้มเหลว ดัชนีเริ่มตั้งแต่ 1 ดังนั้นดัชนีที่มีจำนวนเต็มเป็น 0 หรือติดลบ
ตัวอย่างเช่น หาก index ที่ระบุคือ 0 ในองค์ประกอบ <Get> ของนโยบายการดำเนินการแมปค่าคีย์ การทำให้พร็อกซี API ใช้งานได้ก็จะล้มเหลว
การวินิจฉัย
ระบุนโยบายการดำเนินการแมปค่าคีย์ที่เกิดข้อผิดพลาดและดัชนีที่ไม่ถูกต้อง คุณดูข้อมูลนี้ได้จากข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ
GetKVMและดัชนีที่ไม่ถูกต้องคือ0Invalid index 0 in KeyValueMapStepDefinition GetKVM.ยืนยันว่าค่าของดัชนีที่ระบุในองค์ประกอบ
<Get>ของนโยบายการดำเนินการแมปค่าคีย์ที่ล้มเหลวตรงกับค่าที่ระบุในข้อความแสดงข้อผิดพลาด (ขั้นตอนที่ 1 ด้านบน) ตัวอย่างเช่น นโยบายต่อไปนี้ระบุค่าของดัชนีเป็น0ซึ่งตรงกับสิ่งที่อยู่ในข้อความแสดงข้อผิดพลาด<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <KeyValueMapOperations mapIdentifier="FooKVM" async="false" continueOnError="false" enabled="true" name="GetKVM"> <DisplayName>GetKVM</DisplayName> <ExpiryTimeInSecs>86400</ExpiryTimeInSecs> <Scope>environment</Scope> <Get assignTo="foo_variable" index="0"> <Key> <Parameter>FooKey_1</Parameter> </Key> </Get> </KeyValueMapOperations>หากดัชนีที่ระบุเป็นจำนวนเต็มเป็น 0 หรือติดลบ นั่นเป็นสาเหตุของข้อผิดพลาด
ในตัวอย่างนโยบายการดำเนินการแมปค่าคีย์ที่แสดงด้านบน ค่าของดัชนีคือ
0ซึ่งไม่ถูกต้อง ดังนั้นการทำให้พร็อกซี API ใช้งานได้จึงล้มเหลวโดยมีข้อผิดพลาดดังนี้Invalid index 0 in KeyValueMapStepDefinition GetKVM.
ความละเอียด
ตรวจสอบว่าแอตทริบิวต์ดัชนีที่ระบุในองค์ประกอบ <Get> ของนโยบายการดำเนินการแมปค่าคีย์ถูกต้อง (ไม่ใช่ 0 หรือจำนวนเต็มลบ)
หากต้องการแก้ไขตัวอย่างนโยบายการดำเนินการแมปค่าคีย์ที่แสดงด้านบน ให้แก้ไขดัชนีเป็น 1
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<KeyValueMapOperations mapIdentifier="FooKVM" async="false" continueOnError="false" enabled="true" name="GetKVM">
<DisplayName>GetKVM</DisplayName>
<ExpiryTimeInSecs>86400</ExpiryTimeInSecs>
<Scope>environment</Scope>
<Get assignTo="foo_variable" index="1">
<Key>
<Parameter>FooKey_1</Parameter>
</Key>
</Get>
</KeyValueMapOperations>
KeyIsMissing
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API จะล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Saving Revision revision_number Error occurred while validation of bean policy_name.xml Reason: - Non null value expected for element Parameter in Entry.
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Saving Revision 3
Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
ตัวอย่างภาพหน้าจอแสดงข้อผิดพลาด

สาเหตุ
ข้อผิดพลาดนี้เกิดขึ้นหากองค์ประกอบ <Key> หายไปเลยหรือ<Parameter>
ไม่มีองค์ประกอบภายในองค์ประกอบ <Key> ภายใต้ <Entry> ของ <InitialEntries>
ของนโยบายการดำเนินการแมปค่าคีย์
การวินิจฉัย
ระบุนโยบายการดำเนินการแมปค่าคีย์ที่เกิดข้อผิดพลาด คุณดูข้อมูลนี้ได้จากข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อของนโยบายการดำเนินการของการแมปค่าคีย์คือ
GetKVMError occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entryในนโยบายการดำเนินการแมปค่าคีย์ที่ล้มเหลว ให้ตรวจสอบว่ามี
<Entry>หรือไม่ ซึ่งมีองค์ประกอบ<Key>หรือ<Parameter>ที่ขาดหายไปภายใต้<InitialEntries>นี่คือตัวอย่างนโยบายการดำเนินการแมปค่าคีย์ที่ไม่มี
<Parameter>ภายในเอลิเมนต์<Key>:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <KeyValueMapOperations async="false" continueOnError="false" enabled="true" name="GetKVM" mapIdentifier="FooKVM"> <DisplayName>GetKVM</DisplayName> <Properties/> <ExclusiveCache>false</ExclusiveCache> <ExpiryTimeInSecs>300</ExpiryTimeInSecs> <InitialEntries> <Entry> <Key/> <Value>v1</Value> </Entry> <Entry> <Key> <Parameter>k2</Parameter> </Key> <Value>v2</Value> </Entry> </InitialEntries>ในกรณีนี้ องค์ประกอบแรกทำให้เกิดปัญหา
ความละเอียด
ตรวจสอบว่าองค์ประกอบ <Entry> ทั้งหมดภายใต้องค์ประกอบ <InitialEntries> ในนโยบายการดำเนินการแมปค่าคีย์มีองค์ประกอบ <Key> ตามด้วยองค์ประกอบ <Parameter>
หากต้องการแก้ไขตัวอย่างนโยบายการดำเนินการของการจับคู่ค่าคีย์ที่แสดงด้านบน การเพิ่มองค์ประกอบ <Parameter> จะช่วยแก้ปัญหาได้ดังนี้
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<KeyValueMapOperations async="false" continueOnError="false" enabled="true" name="GetKVM" mapIdentifier="FooKVM">
<DisplayName>GetKVM</DisplayName>
<Properties/>
<ExclusiveCache>false</ExclusiveCache>
<ExpiryTimeInSecs>300</ExpiryTimeInSecs>
<InitialEntries>
<Entry>
<Key>
<Parameter>k1</Parameter>
</Key>
<Value>v1</Value>
</Entry>
<Entry>
<Key>
<Parameter>k2</Parameter>
</Key>
<Value>v2</Value>
</Entry>
</InitialEntries>
...
ValueIsMissing
ข้อความแสดงข้อผิดพลาด
การทำให้พร็อกซี API ใช้งานได้ผ่าน Edge UI หรือ Edge Management API จะล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้
Error Saving Revision revision_number Error occurred while validation of bean policy_name.xml. Reason: - Non null value expected for element Value in Entry.
ตัวอย่างข้อความแสดงข้อผิดพลาด
Error Saving Revision 3
Error occurred while validation of bean GetKVM.xml.Reason: - Non null value expected for element Value in Entry
ตัวอย่างภาพหน้าจอแสดงข้อผิดพลาด

สาเหตุ
ข้อผิดพลาดนี้เกิดขึ้นหากองค์ประกอบ <Value> ขาดหายไปใต้องค์ประกอบ <Entry> ขององค์ประกอบ <InitialEntries> ของนโยบายการดำเนินการแมปค่าคีย์
การวินิจฉัย
ระบุนโยบายการดำเนินการแมปค่าคีย์ที่เกิดข้อผิดพลาด คุณดูข้อมูลนี้ได้จากข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อของนโยบายการดำเนินการของการจับคู่ค่าคีย์คือ
GetKVMError occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Value in Entryในนโยบายการดำเนินการแมปค่าคีย์ที่ล้มเหลว ให้ตรวจสอบว่ามีองค์ประกอบ
<Entry>ใดที่มีองค์ประกอบ<Value>ที่ขาดหายไปภายใต้<InitialEntries>หรือไม่ต่อไปนี้คือตัวอย่างนโยบายการดำเนินการแมปค่าคีย์ที่ไม่มีองค์ประกอบ
<Value><?xml version="1.0" encoding="UTF-8" standalone="yes"?> <KeyValueMapOperations async="false" continueOnError="false" enabled="true" name="GetKVM" mapIdentifier="testNotEncrypte"> <DisplayName>GetKVM3</DisplayName> <Properties/> <ExclusiveCache>false</ExclusiveCache> <ExpiryTimeInSecs>300</ExpiryTimeInSecs> <InitialEntries> <Entry> <Key> <Parameter>k1</Parameter> </Key> </Entry> <Entry> <Key> <Parameter>k2</Parameter> </Key> <Value>v2</Value> </Entry> </InitialEntries> ...
ความละเอียด
ตรวจสอบว่าองค์ประกอบ <Entry> ทั้งหมดภายใต้องค์ประกอบ <InitialEntries> ในนโยบายการดำเนินการแมปค่าคีย์มีองค์ประกอบ <Value>
หากต้องการแก้ไขตัวอย่างนโยบายการดำเนินการของการจับคู่ค่าคีย์ที่แสดงด้านบน การเพิ่มองค์ประกอบ <Value> จะช่วยแก้ปัญหาได้ดังนี้
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<KeyValueMapOperations async="false" continueOnError="false" enabled="true" name="GetKVM" mapIdentifier="testNotEncrypte">
<DisplayName>GetKVM3</DisplayName>
<Properties/>
<ExclusiveCache>false</ExclusiveCache>
<ExpiryTimeInSecs>300</ExpiryTimeInSecs>
<InitialEntries>
<Entry>
<Key>
<Parameter>k1</Parameter>
</Key>
<Value>v1</Value>
</Entry>
<Entry>
<Key>
<Parameter>k2</Parameter>
</Key>
<Value>v2</Value>
</Entry>
</InitialEntries>
...