Risoluzione degli errori di deployment del criterio Key Value Map Operations

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

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

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

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" 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>
        ...
    
    

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" 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>
    ...