Vous consultez la documentation d'Apigee et d'Apigee hybrid.
Consultez la documentation d'Apigee Edge.
InvalidIndex
Message d'erreur
Le déploiement du proxy d'API par le biais de l'interface utilisateur ou l'API Apigee échoue avec le message d'erreur suivant :
Error Saving Revision revision_number Invalid index index in KeyValueMapStepDefinition policy_name.
Exemple de message d'erreur
Error Saving Revision 2
Invalid index 0 in KeyValueMapStepDefinition GetKVM.
Capture d'écran du message d'erreur
Cause
Si l'attribut index
spécifié dans l'élément <Get>
de la règle des opérations de mappage clé-valeur est égal à zéro ou à un nombre négatif, le déploiement du proxy d'API échoue. L'index commence à partir de 1
. Un index égal à zéro ou à un entier négatif est donc considéré comme non valide.
Par exemple, si l'attribut index
est défini sur 0
dans l'élément <Get>
d'une règle des opérations de mappage clé-valeur, le déploiement du proxy d'API échoue.
Diagnostic
Identifiez la règle des opérations de mappage clé-valeur dans laquelle l'erreur s'est produite et l'index n'est pas valide. Vous trouverez cette information dans le message d'erreur. Par exemple, dans l'erreur suivante, le nom de la règle est
GetKVM
et l'index non valide est0
:Invalid index 0 in KeyValueMapStepDefinition GetKVM.
Vérifiez que la valeur de l'index spécifié dans l'élément
<Get>
de la règle des opérations de mappage clé-valeur ayant échoué correspond à la valeur identifiée dans le message d'erreur (étape 1 ci-dessus). Par exemple, la règle suivante définit la valeur de l'index sur0
, ce qui correspond au contenu du message d'erreur :<?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>
Si l'index spécifié est égal à zéro ou à un entier négatif, il s'agit de la cause de l'erreur.
Dans l'exemple de règle des opérations de mappage clé-valeur présenté ci-dessus, la valeur de l'index est
0
et n'est donc pas valide. Par conséquent, le déploiement du proxy d'API échoue avec l'erreur suivante :Invalid index 0 in KeyValueMapStepDefinition GetKVM.
Solution
Assurez-vous que l'attribut d'index spécifié dans l'élément <Get>
de la règle des opérations de mappage clé-valeur est valide (entier non nul ou négatif).
Pour corriger l'exemple de règle des opérations de mappage clé-valeur présenté ci-dessus, vous pouvez remplacer la valeur de l'index par 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
Message d'erreur
Le déploiement du proxy d'API par le biais de l'interface utilisateur ou l'API Apigee échoue avec le message d'erreur suivant :
Error Saving Revision revision_number Error occurred while validation of bean policy_name.xml Reason: - Non null value expected for element Parameter in Entry.
Exemple de message d'erreur
Error Saving Revision 3
Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
Capture d'écran du message d'erreur
Cause
Cette erreur se produit si l'élément <Key>
est complètement manquant ou si l'élément <Parameter>
est manquant dans l'élément <Key>
sous l'entrée (<Entry>
) de l'élément <InitialEntries>
dans la règle des opérations de mappage clé-valeur.
Diagnostic
Identifiez la règle des opérations de mappage clé-valeur dans laquelle l'erreur s'est produite. Vous trouverez cette information dans le message d'erreur. Par exemple, dans l'erreur suivante, le nom de la règle des opérations de mappage clé-valeur est
GetKVM
.Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
Dans la règle des opérations de mappage clé-valeur ayant échoué, vérifiez s'il existe un élément
<Entry>
comportant un élément<Key>
ou<Parameter>
manquant sous l'entrée<InitialEntries>
.Voici un exemple de règle des opérations de mappage clé-valeur comportant un élément
<Parameter>
manquant dans un élément<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>
Dans ce cas, le premier élément est à l'origine du problème.
Solution
Vérifiez que tous les éléments <Entry>
spécifiés sous l'élément <InitialEntries>
de la règle des opérations de mappage clé-valeur possèdent un élément <Key>
suivi d'un élément <Parameter>
.
Pour corriger l'exemple de règle des opérations de mappage clé-valeur présenté ci-dessus, vous pouvez ajouter un élément <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
Message d'erreur
Le déploiement du proxy d'API par le biais de l'interface utilisateur ou l'API Apigee échoue avec le message d'erreur suivant :
Error Saving Revision revision_number Error occurred while validation of bean policy_name.xml. Reason: - Non null value expected for element Value in Entry.
Exemple de message d'erreur
Error Saving Revision 3
Error occurred while validation of bean GetKVM.xml.Reason: - Non null value expected for element Value in Entry
Capture d'écran du message d'erreur
Cause
Cette erreur se produit si l'élément <Value>
est manquant sous l'élément <Entry>
dans l'élément <InitialEntries>
de la règle des opérations de mappage clé-valeur.
Diagnostic
Identifiez la règle des opérations de mappage clé-valeur dans laquelle l'erreur s'est produite. Vous trouverez cette information dans le message d'erreur. Par exemple, dans l'erreur suivante, le nom de la règle des opérations de mappage clé-valeur est
GetKVM
.Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Value in Entry
Dans la règle des opérations de mappage clé-valeur ayant échoué, vérifiez s'il existe un élément
<Entry>
comportant un élément<Value>
manquant sous l'entrée<InitialEntries>
.Voici un exemple de règle des opérations de mappage clé-valeur comportant un élément
<Value>
manquant :<?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> ...
Solution
Assurez-vous que tous les éléments <Entry>
spécifiés sous l'élément <InitialEntries>
de la règle des opérations de mappage clé-valeur possèdent un élément <Value>
.
Pour corriger l'exemple de règle des opérations de mappage clé-valeur présenté ci-dessus, vous pouvez ajouter un élément <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>
...