Estás viendo la documentación de Apigee y Apigee Hybrid.
Consulta la documentación de Apigee Edge.
InvalidIndex
Mensaje de error
Si la implementación del proxy de API a través de la IU de Apigee o la API falla, mostrará con este mensaje de error:
Error Saving Revision revision_number Invalid index index in KeyValueMapStepDefinition policy_name.
Ejemplo de mensaje de error
Error Saving Revision 2
Invalid index 0 in KeyValueMapStepDefinition GetKVM.
Captura de pantalla de error de ejemplo
Causa
Si el atributo index
especificado en el elemento <Get>
de una política de operaciones de mapa de clave-valor es cero o un número negativo, la implementación del proxy de API falla. El índice comienza desde 1
, por lo que un índice de cero o un número entero negativo se considera no válido.
Por ejemplo, si el index
especificado es 0
en el elemento <Get>
de una política de operaciones de mapa de clave-valor, la implementación del proxy de API falla.
Diagnóstico
Identifica la política de operaciones de mapa de valor clave en la que se produjo el error y el índice no válido. Puedes encontrar esta información en el mensaje de error. Por ejemplo, en el siguiente error, el nombre de la política es
GetKVM
y el índice no válido es0
:Invalid index 0 in KeyValueMapStepDefinition GetKVM.
Verifica que el valor del índice especificado en el elemento
<Get>
de la política de operaciones de mapa de clave-valor con errores coincida con el valor identificado en el mensaje de error (paso n.º 1 anterior). Por ejemplo, en la siguiente política, se especifica el valor del índice como0
, que coincide con lo que contiene el mensaje de error:<?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 el índice especificado es cero o un número entero negativo, esa es la causa del error.
En la política de operaciones de mapa de clave-valor de ejemplo anterior, el valor del índice es
0
, que no es válido. Por lo tanto, la implementación del proxy de API falla con el siguiente error:Invalid index 0 in KeyValueMapStepDefinition GetKVM.
Solución
Asegúrate de que el atributo de índice especificado en el elemento <Get>
de la política de operaciones de mapa de clave-valor sea válido (distinto de cero o número entero negativo).
Para corregir la política de operaciones de mapa de clave-valor anterior, puedes modificar el índice a 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
Mensaje de error
Si la implementación del proxy de API a través de la IU de Apigee o la API falla, mostrará con este mensaje de error:
Error Saving Revision revision_number Error occurred while validation of bean policy_name.xml Reason: - Non null value expected for element Parameter in Entry.
Ejemplo de mensaje de error
Error Saving Revision 3
Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
Captura de pantalla de error de ejemplo
Causa
Este error se produce si el elemento <Key>
falta por completo o el elemento <Parameter>
falta en el elemento <Key>
debajo del <Entry>
del elemento <InitialEntries>
de la política de operaciones de mapa de clave-valor.
Diagnóstico
Identifica la política de operaciones de mapa de clave-valor en la que se produjo el error. Puedes encontrar esta información en el mensaje de error. Por ejemplo, en el siguiente error, el nombre de la política de operaciones de mapa de clave-valor es
GetKVM
.Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
En la política de operaciones de mapa de clave-valor con errores, verifica si hay algún elemento
<Entry>
que tenga un elemento<Key>
o<Parameter>
faltante debajo de<InitialEntries>
.A continuación, se muestra un ejemplo de la política de operaciones de mapa de clave-valor que contiene el elemento
<Parameter>
dentro del 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>
En este caso, el primer elemento genera el problema.
Solución
Asegúrate de que todos los elementos <Entry>
debajo del elemento <InitialEntries>
en la política de operaciones de mapa de clave-valor tengan un elemento <Key>
seguido de un elemento <Parameter>
.
Para corregir la política de ejemplo de operaciones de mapa de clave-valor anterior, agregar un elemento <Parameter>
resuelve el 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
Mensaje de error
Si la implementación del proxy de API a través de la IU de Apigee o la API falla, mostrará con este mensaje de error:
Error Saving Revision revision_number Error occurred while validation of bean policy_name.xml. Reason: - Non null value expected for element Value in Entry.
Ejemplo de mensaje de error
Error Saving Revision 3
Error occurred while validation of bean GetKVM.xml.Reason: - Non null value expected for element Value in Entry
Captura de pantalla de error de ejemplo
Causa
Este error ocurre si falta el elemento <Value>
debajo del elemento <Entry>
del elemento <InitialEntries>
de la política de operaciones de mapa de clave-valor.
Diagnóstico
Identifica la política de operaciones de mapa de clave-valor en la que se produjo el error. Puedes encontrar esta información en el mensaje de error. Por ejemplo, en el siguiente error, el nombre de la política de operaciones de mapa de clave-valor es
GetKVM
.Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Value in Entry
En la política de operaciones de mapa de clave-valor con errores, verifica si hay algún elemento
<Entry>
que tenga un elemento<Value>
faltante debajo de<InitialEntries>
.A continuación, se muestra un ejemplo de la política de operaciones de mapa de clave-valor que tiene el elemento
<Value>
faltante:<?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> ...
Solución
Asegúrate de que todos los elementos <Entry>
debajo del elemento <InitialEntries>
en la política de operaciones de mapa de clave-valor tengan un elemento <Value>
.
Para corregir la política de ejemplo de operaciones de mapa de clave-valor anterior, agregar un elemento <Value>
resuelve el 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>
...