Stai visualizzando la documentazione di Apigee e Apigee hybrid.
Visualizza la documentazione di
Apigee Edge.
InvalidIndex
Messaggio di errore
Il deployment del proxy API tramite l'API o la UI di Apigee non va a buon fine e genera questo messaggio di errore:
Error Saving Revision revision_number Invalid index index in KeyValueMapStepDefinition policy_name.
Esempio di messaggio di errore
Error Saving Revision 2
Invalid index 0 in KeyValueMapStepDefinition GetKVM.
Screenshot di errore di esempio
Causa
Se l'attributo index
specificato nell'elemento <Get>
di un criterio Operazioni mappa chiave-valore è pari a zero o a un numero negativo, il deployment del proxy API ha esito negativo. L'indice inizia da 1
, quindi un indice di zero o un numero intero negativo è considerato non valido.
Ad esempio, se il valore index
specificato è 0
nell'elemento <Get>
di un criterio Key Value Map Operations, il deployment del proxy API non andrà a buon fine.
Diagnosi
Identifica la norma relativa alle operazioni della mappa chiave-valore in cui si è verificato l'errore e all'indice non valido. Puoi trovare queste informazioni nel messaggio di errore. Ad esempio, nel seguente errore, il nome del criterio è
GetKVM
e l'indice non valido è0
:Invalid index 0 in KeyValueMapStepDefinition GetKVM.
Verifica che il valore dell'indice specificato nell'elemento
<Get>
del criterio relativo alle operazioni di mappatura delle coppie chiave-valore non riuscito corrisponda al valore identificato nel messaggio di errore (passaggio 1 riportato sopra). Ad esempio, il seguente criterio specifica il valore dell'indice come0
, che corrisponde al contenuto del messaggio di errore:<?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>
Se l'indice specificato è pari a zero o a un numero intero negativo, allora è questa la causa dell'errore.
Nell'esempio di criterio relativo alle operazioni sulla mappa chiave-valore mostrato sopra, il valore dell'indice è
0
, che non è valido. Pertanto, il deployment del proxy API non riesce e restituisce l'errore:Invalid index 0 in KeyValueMapStepDefinition GetKVM.
Risoluzione
Assicurati che l'attributo di indice specificato nell'elemento <Get>
del criterio Operazioni mappa chiave-valore sia valido (numero intero diverso da zero o negativo).
Per correggere il criterio di esempio relativo alle operazioni sulla mappa chiave-valore mostrato sopra, puoi modificare l'indice in 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
Messaggio di errore
Il deployment del proxy API tramite l'API o la UI di Apigee non va a buon fine e genera questo messaggio di errore:
Error Saving Revision revision_number Error occurred while validation of bean policy_name.xml Reason: - Non null value expected for element Parameter in Entry.
Esempio di messaggio di errore
Error Saving Revision 3
Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
Screenshot di errore di esempio
Causa
Questo errore si verifica se l'elemento <Key>
è completamente mancante o se manca l'elemento <Parameter>
all'interno dell'elemento <Key>
sotto <Entry>
dell'elemento <InitialEntries>
del criterio Operazioni della mappa chiave-valore.
Diagnosi
Identifica la norma relativa alle operazioni della mappa chiave-valore in cui si è verificato l'errore. Puoi trovare queste informazioni nel messaggio di errore. Ad esempio, nell'errore seguente, il nome del criterio Operazioni mappa chiave-valore è
GetKVM
.Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
Nel criterio Operazioni mappa chiave-valore che non è stato superato, controlla se esistono elementi
<Entry>
con un elemento<Key>
o<Parameter>
mancante sotto<InitialEntries>
.Di seguito è riportato un esempio di criterio relativo alle operazioni della mappa chiave-valore in cui manca l'elemento
<Parameter>
all'interno dell'elemento<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>
In questo caso, il problema è causato dal primo elemento.
Risoluzione
Assicurati che tutti gli elementi <Entry>
sotto l'elemento <InitialEntries>
nel criterio Operazioni mappa chiave-valore abbiano un elemento <Key>
seguito da un elemento <Parameter>
.
Per correggere il criterio di esempio relativo alle operazioni sulla mappa chiave-valore mostrato sopra, l'aggiunta di un elemento <Parameter>
risolve il problema:
<?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
Messaggio di errore
Il deployment del proxy API tramite l'API o la UI di Apigee non va a buon fine e genera questo messaggio di errore:
Error Saving Revision revision_number Error occurred while validation of bean policy_name.xml. Reason: - Non null value expected for element Value in Entry.
Esempio di messaggio di errore
Error Saving Revision 3
Error occurred while validation of bean GetKVM.xml.Reason: - Non null value expected for element Value in Entry
Screenshot di errore di esempio
Causa
Questo errore si verifica se l'elemento <Value>
non è presente sotto l'elemento <Entry>
dell'elemento <InitialEntries>
del criterio Operazioni mappa chiave-valore.
Diagnosi
Identifica la norma relativa alle operazioni della mappa chiave-valore in cui si è verificato l'errore. Puoi trovare queste informazioni nel messaggio di errore. Ad esempio, nell'errore seguente, il nome del criterio Operazioni mappa chiave-valore è
GetKVM
.Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Value in Entry
Nel criterio relativo alle operazioni sulla mappa chiave-valore che non è stato possibile verificare se sotto
<InitialEntries>
manca un elemento<Entry>
con un elemento<Value>
mancante.Di seguito è riportato un esempio di criterio relativo alle operazioni sulla mappa chiave-valore in cui manca l'elemento
<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> ...
Risoluzione
Assicurati che tutti gli elementi <Entry>
sotto l'elemento <InitialEntries>
nel criterio delle operazioni della mappa chiave-valore abbiano un elemento <Value>
.
Per correggere il criterio di esempio relativo alle operazioni sulla mappa chiave-valore mostrato sopra, l'aggiunta di un elemento <Value>
risolve il problema:
<?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>
...