Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X. информация
ИнвалидИндекс
Сообщение об ошибке
Развертывание прокси-сервера 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>
политики операций с сопоставлением значений ключей, равен нулю или отрицательному числу, то развертывание прокси-сервера API завершается неудачей. Индекс начинается с 1
, поэтому индекс, равный нулю или отрицательному целому числу, считается недействительным.
Например, если указанный 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
, что является недопустимым. Таким образом, развертывание прокси-сервера 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>
КлючIsMissing
Сообщение об ошибке
Развертывание прокси-сервера 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>
политики операций с картой значений ключа.
Диагностика
Определите политику операций с картой значений ключей, в которой произошла ошибка. Эту информацию можно найти в сообщении об ошибке. Например, в следующей ошибке имя политики операций с сопоставлением значений ключей —
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 или 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>
...