คุณกำลังดูเอกสารประกอบ 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
และดัชนีที่ไม่ถูกต้องคือ0
Invalid 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>
ของนโยบายการดำเนินการแมปค่าคีย์
การวินิจฉัย
ระบุนโยบายการดำเนินการแมปค่าคีย์ที่เกิดข้อผิดพลาด คุณดูข้อมูลนี้ได้จากข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อของนโยบายการดำเนินการของการจับคู่ค่าคีย์คือ
GetKVM
Error 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>
ของนโยบายการดำเนินการแมปค่าคีย์
การวินิจฉัย
ระบุนโยบายการดำเนินการแมปค่าคีย์ที่เกิดข้อผิดพลาด คุณดูข้อมูลนี้ได้จากข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อของนโยบายการดำเนินการของการจับคู่ค่าคีย์คือ
GetKVM
Error 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>
...