Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào
tài liệu Apigee X. thông tin
InvalidIndex
Thông báo Lỗi
Việc triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công và xuất hiện thông báo lỗi sau:
Error Saving Revision revision_number Invalid index index in KeyValueMapStepDefinition policy_name.
Thông báo lỗi mẫu
Error Saving Revision 2
Invalid index 0 in KeyValueMapStepDefinition GetKVM.
Ảnh chụp màn hình ví dụ về lỗi

Nguyên nhân
Nếu thuộc tính index được chỉ định trong phần tử <Get> của chính sách Thao tác với bản đồ khoá-giá trị là 0 hoặc số âm, thì quá trình triển khai proxy API sẽ không thành công. Chỉ mục bắt đầu từ 1, vì vậy, chỉ mục bằng 0 hoặc số nguyên âm được coi là không hợp lệ.
Ví dụ: nếu index được chỉ định là 0 trong phần tử <Get> của chính sách Key Value Map Operations, thì việc triển khai proxy API sẽ không thành công.
Chẩn đoán
Xác định chính sách Thao tác trên bản đồ khoá-giá trị nơi xảy ra lỗi và chỉ mục không hợp lệ. Bạn có thể tìm thấy thông tin này trong thông báo lỗi. Ví dụ: trong lỗi sau, tên chính sách là
GetKVMvà chỉ mục không hợp lệ là0:Invalid index 0 in KeyValueMapStepDefinition GetKVM.Xác minh rằng giá trị của chỉ mục được chỉ định trong phần tử
<Get>của chính sách Thao tác với bản đồ khoá giá trị không thành công khớp với giá trị được xác định trong thông báo lỗi (bước 1 ở trên). Ví dụ: chính sách sau đây chỉ định giá trị của chỉ mục là0, khớp với giá trị trong thông báo lỗi:<?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>Nếu chỉ mục được chỉ định là số nguyên âm hoặc bằng 0, thì đó là nguyên nhân gây ra lỗi.
Trong ví dụ về chính sách Thao tác trên bản đồ khoá giá trị nêu trên, giá trị của chỉ mục là
0, không hợp lệ. Do đó, việc triển khai API Proxy không thành công với lỗi:Invalid index 0 in KeyValueMapStepDefinition GetKVM.
Độ phân giải
Đảm bảo rằng thuộc tính chỉ mục được chỉ định trong phần tử <Get> của chính sách Thao tác trên bản đồ khoá giá trị là hợp lệ (số nguyên khác 0 hoặc số nguyên âm).
Để sửa chính sách Key Value Map Operations (Thao tác trên bản đồ khoá-giá trị) trong ví dụ nêu trên, bạn có thể sửa đổi chỉ mục thành 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
Thông báo Lỗi
Việc triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công và xuất hiện thông báo lỗi sau:
Error Saving Revision revision_number Error occurred while validation of bean policy_name.xml Reason: - Non null value expected for element Parameter in Entry.
Thông báo lỗi mẫu
Error Saving Revision 3
Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
Ảnh chụp màn hình ví dụ về lỗi

Nguyên nhân
Lỗi này xảy ra nếu phần tử <Key> hoàn toàn bị thiếu hoặc phần tử <Parameter> bị thiếu trong phần tử <Key> bên dưới <Entry> của phần tử <InitialEntries> trong chính sách Thao tác trên bản đồ giá trị khoá.
Chẩn đoán
Xác định chính sách Thao tác trên bản đồ khoá-giá trị nơi xảy ra lỗi. Bạn có thể tìm thấy thông tin này trong thông báo lỗi. Ví dụ: trong lỗi sau đây, tên của chính sách Key Value Map Operations là
GetKVM.Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in EntryTrong chính sách Thao tác trên Bản đồ khoá giá trị không thành công, hãy kiểm tra xem có phần tử
<Entry>nào bị thiếu phần tử<Key>hoặc<Parameter>bên dưới<InitialEntries>hay không.Sau đây là chính sách mẫu về Thao tác trên bản đồ khoá-giá trị có thiếu phần tử
<Parameter>trong phần tử<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>Trong trường hợp này, phần tử đầu tiên đang gây ra vấn đề.
Độ phân giải
Đảm bảo rằng tất cả các phần tử <Entry> bên dưới phần tử <InitialEntries> trong chính sách về Thao tác trên bản đồ khoá-giá trị đều có phần tử <Key>, sau đó là phần tử <Parameter>.
Để sửa chính sách Key Value Map Operations (Thao tác trên bản đồ khoá-giá trị) trong ví dụ nêu trên, việc thêm phần tử <Parameter> sẽ giải quyết vấn đề:
<?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
Thông báo Lỗi
Việc triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công và xuất hiện thông báo lỗi sau:
Error Saving Revision revision_number Error occurred while validation of bean policy_name.xml. Reason: - Non null value expected for element Value in Entry.
Thông báo lỗi mẫu
Error Saving Revision 3
Error occurred while validation of bean GetKVM.xml.Reason: - Non null value expected for element Value in Entry
Ảnh chụp màn hình ví dụ về lỗi

Nguyên nhân
Lỗi này xảy ra nếu phần tử <Value> bị thiếu bên dưới phần tử <Entry> của phần tử <InitialEntries> trong chính sách Thao tác trên bản đồ khoá giá trị.
Chẩn đoán
Xác định chính sách Thao tác trên bản đồ khoá-giá trị nơi xảy ra lỗi. Bạn có thể tìm thấy thông tin này trong thông báo lỗi. Ví dụ: trong lỗi sau đây, tên của chính sách Key Value Map Operations là
GetKVM.Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Value in EntryTrong chính sách Thao tác trên Bản đồ khoá giá trị không thành công, hãy kiểm tra xem có phần tử
<Entry>nào bị thiếu phần tử<Value>bên dưới<InitialEntries>hay không.Sau đây là chính sách mẫu về Thao tác trên bản đồ khoá-giá trị bị thiếu phần tử
<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> ...
Độ phân giải
Đảm bảo rằng tất cả các phần tử <Entry> bên dưới phần tử <InitialEntries> trong chính sách Thao tác trên bản đồ khoá-giá trị đều có phần tử <Value>.
Để sửa chính sách Key Value Map Operations (Thao tác trên bản đồ khoá-giá trị) trong ví dụ nêu trên, việc thêm phần tử <Value> sẽ giải quyết vấn đề:
<?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>
...