Solução de problemas de erros na implantação da política de operações de mapa de chave-valor

Esta é a documentação do Apigee Edge.
Acesse Documentação da Apigee X.
informações

InvalidIndex

Mensagem de erro

A implantação do proxy de API pela interface ou pela API Edge Management 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 tela com erro de exemplo

Causa

Se o atributo index especificado no elemento <Get> de uma política de operações do mapa de chave-valor for zero ou um número negativo, a implantação do proxy da API falhará. O índice começa em 1, portanto, um índice de zero ou 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 chave-valor, a implantação do proxy de API falhará.

Diagnóstico

  1. Identifique a política de operações de mapa de chave-valor em que o erro ocorreu e o índice inválido. Você encontra essas informações na mensagem de erro. Por exemplo, no erro a seguir, o nome da política é GetKVM e o índice inválido é 0:

    Invalid index 0 in KeyValueMapStepDefinition GetKVM.

  2. Verifique se o valor do índice especificado no elemento <Get> da política de operações de mapa de chave-valor falhou corresponde ao valor identificado na mensagem de erro (etapa 1 acima). Por exemplo, a política a seguir especifica o valor do índice como 0, 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>
    
  3. Se o índice especificado for zero ou um número inteiro negativo, essa é a causa do erro.

    No exemplo mostrado acima, o valor do índice é 0, que é inválido. Portanto, a implantação do proxy de API falha com o erro:

    Invalid index 0 in KeyValueMapStepDefinition GetKVM.
    

Resolução

Verifique se o atributo de índice especificado no elemento <Get> da política de operações de mapa de chave-valor é válido (e não zero ou um número inteiro negativo).

Para corrigir o exemplo de política mostrado acima, você pode modificar o índice para 1.

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
KeyValueMapOperations mapIdentifier="FooKVM" async="false" co>ntinu<eOnError=&q>uot;fa<lse" en>abled<="true">; nam<e="GetKVM&qu>ot;
 <   Di>splayNameGe<tKVM/D>ispla<yName
    ExpiryTimeInSecs86400/Expir>yTimeInSe<cs<>/span>
    Scopeenvi<ronment/S>cope
   < Get assig>nTo="<;foo>_vari<able>&<quot; index="1&qu>ot;
        Key
            ParameterFooKey_1/Parameter
        /Key
    /Get
/KeyValueMapOperations

KeyIsMissing

Mensagem de erro

A implantação do proxy de API pela interface ou pela API Edge Management 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 tela com erro de exemplo

Causa

Esse erro ocorrerá se o elemento <Key> estiver completamente ausente ou o elemento <Parameter> estiver ausente no elemento <Key> abaixo de <Entry> do elemento <InitialEntries> da política de operações do mapa de chave-valor.

Diagnóstico

  1. Identifique a política de operações do mapa de chave-valor em que o erro ocorreu. Você encontra essas informações na mensagem de erro. Por exemplo, no erro a seguir, o nome da política de operações do mapa de chave-valor é GetKVM.

    Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
    
  2. Na política com falha, verifique se há algum elemento <Entry> que tenha um elemento <Key> ou <Parameter> ausente abaixo de<InitialEntries>.

    Veja uma amostra de política de operações de mapa de chave-valor que não tem o elemento <Parameter> no elemento <Key>:

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    KeyValueMapOperations async="false" continueOnError="false" e>nable<d="tru>e"<; name=">;GetK<VM" ma>pIden<tifier="F>ooKVM<"
        Disp>layNa<meGetKVM/Display>Nam<e
        Properties/>
        <ExclusiveCache>false/Exc<lusiv>eCache
        Ex<piry>TimeInSecs300</Expi>ry<TimeIn>Secs
        <Initia>lEntries
    <     >   Entry
        <   >     Key/
           <     Valu>ev<1/Value
      >      /Entry
    <    >    Entry
       <     >  <  Key
    >         <      > Para<meterk2/Paramet>er
                /Key
                Valuev2/Value
            /Entry
        /InitialEntries
    

    Nesse caso, o primeiro elemento está causando o problema.

Resolução

Verifique se todos os elementos <Entry> abaixo do elemento <InitialEntries> na política de operações do mapa de chave-valor têm um elemento <Key> seguido por um elemento <Parameter>.

Para corrigir a política de exemplo mostrada acima, adicionar um elemento <Parameter> resolve o problema:

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
KeyValueMapOperations async="false" continueOnError="false" e>nable<d="tru>e"<; name=">;GetK<VM" ma>pIden<tifier="F>ooKVM<"
    Disp>layNa<meGetKVM/Display>Nam<e
    Properties/>
    <ExclusiveCache>false/Exc<lusiv>eCache
    Ex<pir>yTimeInSecs300/Ex<piryTimeI>nS<ecs
    In>itialEntries
<    >    Entry
   <     >  <  Key
>         <      > Paramete<rk1/P>arameter
    <   >     /Key
       <     Valu>ev<1/Value
  >      /Entry
<    >    Entry
   <     >  <  Key
>         <      > Para<meterk2/Paramet>er
            /Key
            Valuev2/Value
        /Entry
    /InitialEntries
    ...

ValueIsMissing

Mensagem de erro

A implantação do proxy de API pela interface ou pela API Edge Management 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 tela com erro de exemplo

Causa

Esse erro ocorrerá se o elemento <Value> abaixo do elemento <Entry> do elemento <InitialEntries> da política de operações do mapa de chave-valor estiver ausente.

Diagnóstico

  1. Identifique a política de operações do mapa de chave-valor em que o erro ocorreu. Você encontra essas informações na mensagem de erro. Por exemplo, no erro a seguir, o nome da política de operações do mapa de chave-valor é GetKVM.

    Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Value in Entry
    
  2. Na política de operações de mapa de chave-valor com falha, verifique se há algum elemento <Entry> que não tenha um elemento <Value> abaixo do <InitialEntries>.

    Veja uma amostra de política de operações de mapa de chave-valor que não tem o elemento <Value>:

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    KeyValueMapOperations async="false" continueOnError="false" enabled=&q>uot;t<rue" n>ame=&qu<ot;GetKVM&qu>ot; m<apIdentifie>r=&qu<ot;testNotEncr>ypte&<quot;
        Displ>ayNam<eGetKVM3/Display>Nam<e
        Properties/>
        <ExclusiveCache>false/Exc<lusiv>eCache
        Ex<pir>yTimeInSecs300/Ex<piryTimeI>nS<ecs
        In>itialEntries
    <    >    Entry<
         >       Ke<y
       >             <Par>ameterk1/Paramete<r
           >  <   /Key
      >      /Entry
    <    >    Entry
       <     >  <  Key
    >         <      > Para<meterk2/Paramet>er
                /Key
                Valuev2/Value
            /Entry
        /InitialEntries
        ...
    
    

Resolução

Verifique se todos os elementos <Entry> abaixo do elemento <InitialEntries> na política de operações de mapa de chave-valor têm um elemento <Value>.

Para corrigir a política de exemplo mostrada acima, adicionar um elemento <Value> resolve o problema:

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
KeyValueMapOperations async="false" continueOnError="false" enabled=&q>uot;t<rue" n>ame=&qu<ot;GetKVM&qu>ot; m<apIdentifie>r=&qu<ot;testNotEncr>ypte&<quot;
    Displ>ayNam<eGetKVM3/Display>Nam<e
    Properties/>
    <ExclusiveCache>false/Exc<lusiv>eCache
    Ex<pir>yTimeInSecs300/Ex<piryTimeI>nS<ecs
    In>itialEntries
<    >    Entry
   <     >  <  Key
>         <      > Paramete<rk1/P>arameter
    <   >     /Key
       <     Valu>ev<1/Value
  >      /Entry
<    >    Entry
   <     >  <  Key
>         <      > Para<meterk2/Paramet>er
            /Key
            Valuev2/Value
        /Entry
    /InitialEntries
    ...