Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
InvalidIndex
Сообщение об ошибке
Развертывание API-прокси через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой, о которой сообщается ниже:
Error Saving Revision revision_number Invalid index index in KeyValueMapStepDefinition policy_name.
Пример сообщения об ошибке
Error Saving Revision 2
Invalid index 0 in KeyValueMapStepDefinition GetKVM.
Пример скриншота ошибки

Причина
Если атрибут index , указанный в элементе <Get> политики Key Value Map Operations, равен нулю или отрицательному числу, развертывание API-прокси завершится неудачей. Индексация начинается с 1 , поэтому индекс, равный нулю или отрицательному целому числу, считается недопустимым.
Например, если в элементе <Get> политики Key Value Map Operations указан index , равный 0 , то развертывание 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, что является недопустимым. Поэтому развертывание API-прокси завершается с ошибкой:Invalid index 0 in KeyValueMapStepDefinition GetKVM.
Разрешение
Убедитесь, что атрибут индекса, указанный в элементе <Get> политики операций сопоставления ключей и значений, является допустимым (ненулевым или отрицательным целым числом).
Чтобы исправить приведенную выше политику операций сопоставления ключей и значений, можно изменить индекс на 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 или API управления Edge завершается с ошибкой, о которой сообщается ниже:
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> политики Key Value Map Operations.
Диагноз
Определите политику операций сопоставления ключей и значений, в которой произошла ошибка. Эту информацию можно найти в сообщении об ошибке. Например, в следующем сообщении об ошибке имя политики операций сопоставления ключей и значений —
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 Value Map Operations, содержат элемент <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 или API управления Edge завершается с ошибкой, о которой сообщается ниже:
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>
...