Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
InvalidIndex
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetlany jest ten komunikat o błędzie:
Error Saving Revision revision_number Invalid index index in KeyValueMapStepDefinition policy_name.
Przykładowy komunikat o błędzie
Error Saving Revision 2
Invalid index 0 in KeyValueMapStepDefinition GetKVM.
Zrzut ekranu z przykładowym błędem
Przyczyna
Jeśli atrybut index
określony w elemencie <Get>
w zasadzie operacji mapowania par klucz-wartość wynosi zero lub jest liczbą ujemną, wdrożenie serwera proxy interfejsu API się nie uda. Indeks zaczyna się od 1
, więc indeks o wartości 0 lub ujemna liczba całkowita jest uznawany za nieprawidłowy.
Jeśli na przykład index
jest określony jako 0
w elemencie <Get>
zasady operacji mapy klucz-wartość, wdrożenie serwera proxy interfejsu API się nie uda.
Diagnostyka
Określ zasadę operacji mapy klucz-wartość, w której wystąpił błąd, i nieprawidłowy indeks. Informacje te znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady to
GetKVM
, a nieprawidłowy indeks to0
:Invalid index 0 in KeyValueMapStepDefinition GetKVM.
Sprawdź, czy wartość indeksu określona w elemencie
<Get>
w zasadach dotyczących nieudanych operacji na mapie klucz-wartość jest zgodna z wartością podaną w komunikacie o błędzie (krok 1 powyżej). Na przykład ta zasada określa wartość indeksu w postaci0
, która jest zgodna z treścią komunikatu o błędzie:<?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>
Jeśli podany indeks to zero lub ujemna liczba całkowita, to jest przyczyną błędu.
W przykładowej zasadzie operacji mapy klucz-wartość pokazanej powyżej wartość indeksu to
0
, co jest nieprawidłowe. Dlatego wdrożenie serwera proxy interfejsu API nie powiedzie się z błędem:Invalid index 0 in KeyValueMapStepDefinition GetKVM.
Rozdzielczość
Sprawdź, czy atrybut indeksu określony w elemencie <Get>
w zasadach operacji mapowania par klucz-wartość jest prawidłowy (nie zero lub ujemna liczba całkowita).
Aby poprawić przykładową zasadę operacji mapowania par klucz-wartość widoczną powyżej, zmień indeks na 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
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetlany jest ten komunikat o błędzie:
Error Saving Revision revision_number Error occurred while validation of bean policy_name.xml Reason: - Non null value expected for element Parameter in Entry.
Przykładowy komunikat o błędzie
Error Saving Revision 3
Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
Zrzut ekranu z przykładowym błędem
Przyczyna
Ten błąd występuje, jeśli całkowicie brakuje elementu <Key>
lub brakuje elementu <Parameter>
w elemencie <Key>
poniżej <Entry>
elementu <InitialEntries>
zasad operacji mapy klucz-wartość.
Diagnostyka
Określ zasadę operacji na mapie par klucz-wartość, w której wystąpił błąd. Informacje te znajdziesz w komunikacie o błędzie. Na przykład w poniższym błędzie nazwa zasady operacji na mapie klucz-wartość to
GetKVM
.Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
W nieudanej zasadzie operacji mapowania par klucz-wartość sprawdź, czy w żadnym elemencie
<Entry>
pod elementem<InitialEntries>
brakuje elementu<Key>
lub<Parameter>
.Oto przykładowa zasada dotycząca operacji mapowania par klucz-wartość, w której brakuje elementu
<Parameter>
w elemencie<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>
W tym przypadku problem powoduje pierwszy element.
Rozdzielczość
Upewnij się, że wszystkie elementy <Entry>
pod elementem <InitialEntries>
w zasadach operacji mapowania par klucz-wartość zawierają element <Key>
, po którym następuje element <Parameter>
.
Aby poprawić przykładową zasadę operacji mapy klucz-wartość przedstawioną powyżej, dodanie elementu <Parameter>
rozwiązuje problem:
<?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
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetlany jest ten komunikat o błędzie:
Error Saving Revision revision_number Error occurred while validation of bean policy_name.xml. Reason: - Non null value expected for element Value in Entry.
Przykładowy komunikat o błędzie
Error Saving Revision 3
Error occurred while validation of bean GetKVM.xml.Reason: - Non null value expected for element Value in Entry
Zrzut ekranu z przykładowym błędem
Przyczyna
Ten błąd występuje, jeśli brakuje elementu <Value>
poniżej elementu <Entry>
elementu <InitialEntries>
zasady operacji na mapie par klucz-wartość.
Diagnostyka
Określ zasadę operacji na mapie par klucz-wartość, w której wystąpił błąd. Informacje te znajdziesz w komunikacie o błędzie. Na przykład w poniższym błędzie nazwa zasady operacji na mapie klucz-wartość to
GetKVM
.Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Value in Entry
W nieudanych zasadach operacji mapy klucz-wartość sprawdź, czy w zasadzie
<InitialEntries>
występują jakieś elementy<Entry>
, w których brakuje elementu<Value>
.Oto przykładowa zasada dotycząca operacji na mapie klucz-wartość, w której brakuje elementu
<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> ...
Rozdzielczość
Sprawdź, czy wszystkie elementy <Entry>
pod elementem <InitialEntries>
w zasadach korzystania z mapowania klucz-wartość zawierają element <Value>
.
Aby poprawić przykładową zasadę operacji mapy klucz-wartość przedstawioną powyżej, dodanie elementu <Value>
rozwiązuje problem:
<?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>
...