Está a ver a documentação do Apigee e do Apigee Hybrid.
Ver documentação do
Apigee Edge.
InvalidIndex
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision revision_number Invalid index index in KeyValueMapStepDefinition policy_name.
Exemplo de mensagem de erro
Error Saving Revision 2
Invalid index 0 in KeyValueMapStepDefinition GetKVM.
Captura de ecrã de erro de exemplo
Causa
Se o atributo index
especificado no elemento <Get>
de uma política de operações de mapa de chave-valor for zero ou um número negativo, a implementação do proxy de API falha. O índice começa em 1
, pelo que um índice de zero ou um número inteiro negativo é considerado inválido.
Por exemplo, se o index
especificado for 0
no elemento <Get>
de uma política de operações de mapa de valores-chave, a implementação do proxy de API falha.
Diagnóstico
Identifique a política de operações do mapa de valores-chave onde ocorreu o erro e o índice inválido. Pode encontrar estas informações na mensagem de erro. Por exemplo, no erro seguinte, o nome da política é
GetKVM
e o índice inválido é0
:Invalid index 0 in KeyValueMapStepDefinition GetKVM.
Verifique se o valor do índice especificado no elemento
<Get>
da política de operações de mapa de valores-chave com falhas corresponde ao valor identificado na mensagem de erro (passo n.º 1 acima). Por exemplo, a seguinte política especifica o valor do índice como0
, que corresponde ao que está na mensagem de erro:<?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 o índice especificado for zero ou um número inteiro negativo, essa é a causa do erro.
No exemplo da política de operações de mapeamento de chaves-valores apresentado acima, o valor do índice é
0
, que é inválido. Por conseguinte, a implementação do proxy de API falha com o erro:Invalid index 0 in KeyValueMapStepDefinition GetKVM.
Resolução
Certifique-se de que o atributo de índice especificado no elemento <Get>
da política de operações de mapeamento de chaves-valores é válido (inteiro não nulo ou negativo).
Para corrigir a política de operações de mapa de valor-chave de exemplo apresentada acima, pode modificar o índice para 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
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision revision_number Error occurred while validation of bean policy_name.xml Reason: - Non null value expected for element Parameter in Entry.
Exemplo de mensagem de erro
Error Saving Revision 3
Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
Captura de ecrã de erro de exemplo
Causa
Este erro ocorre se o elemento <Key>
estiver completamente em falta ou se o elemento <Parameter>
estiver em falta no elemento <Key>
abaixo do elemento <Entry>
da política de operações de mapa de valores-chave.<InitialEntries>
Diagnóstico
Identifique a política de operações de mapa de chaves-valores onde ocorreu o erro. Pode encontrar estas informações na mensagem de erro. Por exemplo, no erro seguinte, o nome da política de operações de mapeamento de valores-chave é
GetKVM
.Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
Na política de operações de mapa de valores-chave com falhas, verifique se existe algum elemento
<Entry>
com um elemento<Key>
ou<Parameter>
em falta abaixo de<InitialEntries>
.Segue-se um exemplo de uma política de operações de mapa de valor-chave que tem um elemento
<Parameter>
em falta no 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>
Neste caso, o primeiro elemento está a causar o problema.
Resolução
Certifique-se de que todos os elementos <Entry>
abaixo do elemento <InitialEntries>
na Política de Operações de Mapas de Valores-Chave têm um elemento <Key>
seguido de um elemento <Parameter>
.
Para corrigir a política de operações de mapeamento de chaves-valores do exemplo apresentado acima, a adição de um elemento <Parameter>
resolve o 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
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision revision_number Error occurred while validation of bean policy_name.xml. Reason: - Non null value expected for element Value in Entry.
Exemplo de mensagem de erro
Error Saving Revision 3
Error occurred while validation of bean GetKVM.xml.Reason: - Non null value expected for element Value in Entry
Captura de ecrã de erro de exemplo
Causa
Este erro ocorre se o elemento <Value>
estiver em falta abaixo do elemento <Entry>
do elemento <InitialEntries>
da política de operações de mapa de valores-chave.
Diagnóstico
Identifique a política de operações de mapa de chaves-valores onde ocorreu o erro. Pode encontrar estas informações na mensagem de erro. Por exemplo, no erro seguinte, o nome da política de operações de mapeamento de valores-chave é
GetKVM
.Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Value in Entry
Na política de operações de mapa de chaves-valores com falhas, verifique se existe algum elemento
<Entry>
com um elemento<Value>
em falta abaixo do elemento<InitialEntries>
.Segue-se um exemplo de uma política de operações de mapa de valor-chave que tem o elemento
<Value>
em falta:<?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> ...
Resolução
Certifique-se de que todos os elementos <Entry>
abaixo do elemento <InitialEntries>
na Política de Operações de Mapas de Valores-Chave têm um elemento <Value>
.
Para corrigir a política de operações de mapeamento de chaves-valores do exemplo apresentado acima, a adição de um elemento <Value>
resolve o 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>
...