Risoluzione degli errori di deployment dei criteri delle operazioni di mappatura chiave-valore

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

InvalidIndex

Messaggio di errore

Il deployment del proxy API tramite la UI o l'API di gestione perimetrale non va a buon fine e questo messaggio di errore:

Error Saving Revision revision_number
Invalid index index in KeyValueMapStepDefinition policy_name.

Messaggio di errore di esempio

Error Saving Revision 2
Invalid index 0 in KeyValueMapStepDefinition GetKVM.

Screenshot di errore di esempio

Causa

Se l'attributo index specificato nell'elemento <Get> di un criterio Operazioni mappa valori-chiave è zero o un numero negativo, il deployment del proxy API non va a buon fine. Poiché l'indice inizia da 1, un indice pari a zero o un numero intero negativo è considerato non valido.

Ad esempio, se il valore index specificato è 0 nell'elemento <Get> di un criterio Key Value Map Operations, il deployment del proxy API non va a buon fine.

Diagnosi

  1. Identifica il criterio Key-Value Map Operations in cui si è verificato l'errore e l'indice non valido. Puoi trovare queste informazioni nel messaggio di errore. Ad esempio, nell'errore seguente, il nome del criterio è GetKVM e l'indice non valido è 0:

    Invalid index 0 in KeyValueMapStepDefinition GetKVM.

  2. Verifica che il valore dell'indice specificato nell'elemento <Get> del criterio delle operazioni sulla mappa dei valori chiave non riuscito corrisponda al valore identificato nel messaggio di errore (passaggio 1 sopra). Ad esempio, il seguente criterio consente di specificare il valore dell'indice come 0, che corrisponde a quanto indicato nel messaggio di errore:

    <?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 l'indice specificato è zero o un numero intero negativo, ciò è la causa dell'errore.

    Nel criterio di esempio Key Value Map Operations riportato sopra, il valore dell'indice è 0 e non è valido. Pertanto, il deployment del proxy API non va a buon fine e viene restituito l'errore:

    Invalid index 0 in KeyValueMapStepDefinition GetKVM.
    

Risoluzione

Assicurati che l'attributo di indice specificato nell'elemento <Get> del criterio per le operazioni sulla mappa dei valori chiave sia valido (un numero intero diverso da zero o negativo).

Per correggere l'esempio di criterio delle operazioni della mappa chiave-valore mostrato sopra, puoi modificare l'indice in 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

Messaggio di errore

Il deployment del proxy API tramite la UI o l'API di gestione perimetrale non va a buon fine e questo messaggio di errore:

Error Saving Revision revision_number
Error occurred while validation of bean policy_name.xml
Reason: - Non null value expected for element Parameter in Entry.

Messaggio di errore di esempio

Error Saving Revision 3
Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry

Screenshot di errore di esempio

Causa

Questo errore si verifica se l'elemento <Key> è completamente mancante o <Parameter> elemento mancante all'interno dell'elemento <Key> sotto <Entry> di <InitialEntries> del criterio Operazioni mappa chiave-valore.

Diagnosi

  1. Identifica il criterio Key-Value Map Operations in cui si è verificato l'errore. Puoi trovare queste informazioni nel messaggio di errore. Ad esempio, nel seguente errore il nome del criterio Operazioni mappa valori-chiave è GetKVM.

    Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
    
  2. Nel criterio Key-Value Map Operations non riuscito, controlla se sono presenti <Entry> in cui manca un elemento <Key> o <Parameter> sotto <InitialEntries>.

    Di seguito è riportato un esempio di criterio Key-Value Map Operations in cui manca il campo <Parameter> all'interno di <Key> elemento:

    <?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
    

    In questo caso, il problema è il primo elemento.

Risoluzione

Assicurati che tutti gli elementi <Entry> sotto l'elemento <InitialEntries> nel criterio Operazioni sulla mappa chiave-valore abbiano un elemento <Key> seguito da un elemento <Parameter>.

Per correggere l'esempio di criterio delle operazioni della mappa chiave-valore mostrato sopra, l'aggiunta di un elemento <Parameter> risolve il 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

Messaggio di errore

Il deployment del proxy API tramite la UI o l'API di gestione perimetrale non va a buon fine e questo messaggio di errore:

Error Saving Revision revision_number
Error occurred while validation of bean policy_name.xml. Reason: - Non null value expected for element Value in Entry.

Messaggio di errore di esempio

Error Saving Revision 3
Error occurred while validation of bean GetKVM.xml.Reason: - Non null value expected for element Value in Entry

Screenshot di errore di esempio

Causa

Questo errore si verifica se manca l'elemento <Value> sotto l'elemento <Entry> dell'elemento <InitialEntries> del criterio Operazioni mappa chiave-valore.

Diagnosi

  1. Identifica il criterio Key-Value Map Operations in cui si è verificato l'errore. Puoi trovare queste informazioni nel messaggio di errore. Ad esempio, nel seguente errore il nome del criterio Operazioni mappa valori-chiave è GetKVM.

    Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Value in Entry
    
  2. Nel criterio non riuscito per le operazioni sulla mappa chiave-valore, controlla se è presente un elemento <Entry> con un elemento <Value> mancante sotto <InitialEntries>.

    Di seguito è riportato un esempio di criterio Key-Value Map Operations in cui manca l'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
        ...
    
    

Risoluzione

Assicurati che tutti gli elementi <Entry> sotto l'elemento <InitialEntries> nel criterio Operazioni mappa chiave-valore abbiano un elemento <Value>.

Per correggere l'esempio di criterio delle operazioni della mappa chiave-valore mostrato sopra, l'aggiunta di un elemento <Value> risolve il 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
    ...