Sie lesen gerade die Dokumentation zu Apigee und Apigee Hybrid.
Apigee Edge-Dokumentation aufrufen.
InvalidIndex
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision revision_number Invalid index index in KeyValueMapStepDefinition policy_name.
Beispiel für Fehlermeldung
Error Saving Revision 2
Invalid index 0 in KeyValueMapStepDefinition GetKVM.
Beispiel für einen Fehler-Screenshot
Ursache
Wenn das Attribut index
, das im Element <Get>
der KeyValueMapOperations-Richtlinie null oder eine negative Zahl ist, schlägt die Bereitstellung des API-Proxys fehl. Der Index beginnt bei 1
, sodass ein Index mit null oder einer negativen Ganzzahl als ungültig angesehen wird.
Wenn zum Beispiel index
im Element <Get>
einer KeyValueMapOperations-Richtlinie als 0
angegeben ist, schlägt die Bereitstellung des API-Proxys fehl.
Diagnose
Ermitteln Sie die Richtlinie für Schlüsselwertzuordnungsvorgänge, in der der Fehler aufgetreten ist, sowie den ungültigen Index. Diese Information finden Sie in der Fehlermeldung. Im folgenden Fehler lautet der Richtlinienname beispielsweise
GetKVM
und der ungültige Index ist0
:Invalid index 0 in KeyValueMapStepDefinition GetKVM.
Prüfen Sie, ob der Wert des Index, der im
<Get>
-Element der fehlgeschlagenen Richtlinie für die Schlüsselwertzuordnungen angegeben ist, mit dem in der Fehlermeldung angegebenen Wert übereinstimmt (Schritt 1 oben). Die folgende Richtlinie gibt beispielsweise den Wert des Index als0
an, was mit der Angabe in der Fehlermeldung übereinstimmt:<?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>
Wenn der angegebene Index null oder eine negative Ganzzahl ist, ist dies die Ursache des Fehlers.
In der oben gezeigten KeyValueMapOperations-Beispielrichtlinie lautet der Wert des Index
0
; dieser ist ungültig. Entsprechend schlägt die Bereitstellung des API-Proxys mit folgendem Fehler fehl:Invalid index 0 in KeyValueMapStepDefinition GetKVM.
Lösung
Vergewissern Sie sich, dass das Indexattribut, das im Element <Get>
der KeyValueMapOperations-Richtlinie angegeben ist, gültig ist (null oder negative Ganzzahl).
Um die oben gezeigte KeyValueMapOperations-Beispielrichtlinie zu korrigieren, können Sie den Index in 1
ändern.
<?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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision revision_number Error occurred while validation of bean policy_name.xml Reason: - Non null value expected for element Parameter in Entry.
Beispiel für Fehlermeldung
Error Saving Revision 3
Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
Beispiel für einen Fehler-Screenshot
Ursache
Dieser Fehler tritt auf, wenn das Element <Key>
vollständig fehlt oder das Element <Parameter>
im Element <Key>
unterhalb des <Entry>
des Elements <InitialEntries>
der KeyValueMapOperations-Richtlinie fehlt.
Diagnose
Ermitteln Sie die KeyValueMapOperations-Richtlinie, in der der Fehler aufgetreten ist. Diese Information finden Sie in der Fehlermeldung. Im folgenden Fehler lautet beispielsweise der Name der KeyValueMapOperations-Richtlinie
GetKVM
.Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
Prüfen Sie in der fehlgeschlagenen KeyValueMapOperations-Richtlinie, ob ein
<Entry>
-Element mit einem fehlenden<Key>
- oder<Parameter>
-Element unter<InitialEntries>
vorliegt.Hier sehen Sie eine KeyValueMapOperations-Beispielrichtlinie, in der das Element
<Parameter>
im Element<Key>
fehlt:<?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 diesem Fall verursacht das erste Element das Problem.
Lösung
Achten Sie darauf, dass alle <Entry>
-Elemente unter dem Element <InitialEntries>
in der KeyValueMapOperations-Richtlinie ein <Key>
-Element gefolgt von einem <Parameter>
-Element haben.
Fügen Sie ein <Parameter>
-Element hinzu, um das Problem mit der KeyValueMapOperations-Richtlinie zu beheben:
<?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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision revision_number Error occurred while validation of bean policy_name.xml. Reason: - Non null value expected for element Value in Entry.
Beispiel für Fehlermeldung
Error Saving Revision 3
Error occurred while validation of bean GetKVM.xml.Reason: - Non null value expected for element Value in Entry
Beispiel für einen Fehler-Screenshot
Ursache
Dieser Fehler tritt auf, wenn das Element <Value>
unter dem Element <Entry>
des Elements <InitialEntries>
der KeyValueMapOperations-Richtlinie fehlt.
Diagnose
Ermitteln Sie die KeyValueMapOperations-Richtlinie, in der der Fehler aufgetreten ist. Diese Information finden Sie in der Fehlermeldung. Im folgenden Fehler lautet beispielsweise der Name der KeyValueMapOperations-Richtlinie
GetKVM
.Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Value in Entry
Prüfen Sie in der fehlgeschlagenen Key Value Map Operations-Richtlinie, ob ein
<Entry>
-Element mit einem fehlenden<Value>
-Element unter<InitialEntries>
vorliegt.Hier sehen Sie eine KeyValueMapOperations-Richtlinie, in der das Element
<Value>
fehlt:<?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> ...
Lösung
Achten Sie darauf, dass alle <Entry>
-Elemente unter dem Element <InitialEntries>
in der KeyValueMapOperations-Richtlinie ein <Value>
-Element enthalten.
Fügen Sie ein <Value>
-Element hinzu, um das Problem mit der KeyValueMapOperations-Richtlinie zu beheben:
<?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>
...