Estás consultando la documentación de Apigee y Apigee Hybrid.
Consulta la documentación de
Apigee Edge.
InvalidIndex
Mensaje de error
La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra 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 ejemplo de error
Causa
Si el atributo index
especificado en el elemento <Get>
de una política Key Value Map Operations es cero o un número negativo, se produce un error en la implementación del proxy de API. El índice empieza por 1
, por lo que un índice cero o un número entero negativo no son válidos.
Por ejemplo, si el index
especificado es 0
en el elemento <Get>
de una política de operaciones de mapa de valores clave, se produce un error en la implementación del proxy de API.
Diagnóstico
Identifica la política Key Value Map Operations en la que se ha producido 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 Key Value Map Operations fallida coincida con el valor identificado en el mensaje de error (paso 1 anterior). Por ejemplo, la siguiente política especifica el valor del índice como0
, que coincide con lo que se indica en 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 entero negativo, esa es la causa del error.
En el ejemplo de la política Key Value Map Operations que se muestra arriba, el valor del índice es
0
, que no es válido. Por lo tanto, el despliegue del proxy de API falla y se muestra el siguiente error:Invalid index 0 in KeyValueMapStepDefinition GetKVM.
Resolución
Asegúrese de que el atributo de índice especificado en el elemento <Get>
de la política Operaciones de mapa de valores clave sea válido (un número entero distinto de cero o negativo).
Para corregir la política de operaciones de mapa de valores clave de ejemplo que se muestra arriba, 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
La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra 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 ejemplo de error
Causa
Este error se produce si falta por completo el elemento <Key>
o si falta el elemento <Parameter>
dentro del elemento <Key>
, que se encuentra debajo del elemento <Entry>
del elemento <InitialEntries>
de la política Key Value Map Operations.
Diagnóstico
Identifica la política Key Value Map Operations en la que se ha producido el error. Puedes encontrar esta información en el mensaje de error. Por ejemplo, en el siguiente error, el nombre de la política Key Value Map Operations es
GetKVM
.Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
En la política Key Value Map Operations que ha fallado, comprueba si hay algún elemento
<Entry>
al que le falte un elemento<Key>
o<Parameter>
debajo del elemento<InitialEntries>
.A continuación, se muestra un ejemplo de política Key Value Map Operations que no tiene 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 problema lo provoca el primer elemento.
Resolución
Asegúrese de que todos los elementos <Entry>
que se encuentran debajo del elemento <InitialEntries>
de la política Key Value Map Operations tengan un elemento <Key>
seguido de un elemento <Parameter>
.
Para corregir la política de operaciones de mapa de valores de clave de ejemplo que se muestra arriba, añade un elemento <Parameter>
para solucionar 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
La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra 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 ejemplo de error
Causa
Este error se produce si falta el elemento <Value>
debajo del elemento <Entry>
del elemento <InitialEntries>
de la política Key Value Map Operations.
Diagnóstico
Identifica la política Key Value Map Operations en la que se ha producido el error. Puedes encontrar esta información en el mensaje de error. Por ejemplo, en el siguiente error, el nombre de la política Key Value Map Operations es
GetKVM
.Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Value in Entry
En la política Key Value Map Operations que ha fallado, comprueba si hay algún elemento
<Entry>
al que le falte un elemento<Value>
debajo de<InitialEntries>
.A continuación se muestra un ejemplo de una política de operaciones de mapa de clave-valor a la que le falta el 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> ...
Resolución
Asegúrese de que todos los elementos <Entry>
que se encuentran debajo del elemento <InitialEntries>
de la política Key Value Map Operations tengan un elemento <Value>
.
Para corregir la política de operaciones de mapa de valores de clave de ejemplo que se muestra arriba, añade un elemento <Value>
para solucionar 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>
...