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

Stai visualizzando la documentazione di Apigee e Apigee hybrid.
Visualizza la documentazione di Apigee Edge.

InvalidIndex

Messaggio di errore

Il deployment del proxy API tramite l'API o l'interfaccia utente di Apigee non va a buon fine con questo messaggio di errore:

Error Saving Revision revision_number
Invalid index index in KeyValueMapStepDefinition policy_name.

Esempio di messaggio di errore

Error Saving Revision 2
Invalid index 0 in KeyValueMapStepDefinition GetKVM.

Screenshot di errore di esempio

Errore durante il salvataggio della revisione 2.

Causa

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

Ad esempio, se il valore index specificato è 0 nell'elemento <Get> di un criterio di operazioni di mappatura di valori chiave, il deployment del proxy API non va a buon fine.

Diagnosi

  1. Identifica il criterio Operazioni mappa valori chiave 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 di operazioni di mappatura delle chiavi e dei valori non riuscito corrisponda al valore identificato nel messaggio di errore (passaggio 1 sopra). Ad esempio, il seguente criterio specifica il valore dell'indice come 0, che corrisponde a quello 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, è la causa dell'errore.

    Nel criterio di operazioni della mappa di valori chiave di esempio mostrato sopra, il valore dell'indice è 0, che non è valido. Di conseguenza, il deployment del proxy API non va a buon fine con l'errore:

    Invalid index 0 in KeyValueMapStepDefinition GetKVM.
    

Risoluzione

Assicurati che l'attributo indice specificato nell'elemento <Get> del criterio Operazioni mappa valori chiave sia valido (numero intero diverso da zero o negativo).

Per correggere il criterio di operazioni sulle mappe di valori chiave di esempio 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 l'API o l'interfaccia utente di Apigee non va a buon fine con 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.

Esempio di messaggio di errore

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

Errore durante il salvataggio della revisione 3.

Causa

Questo errore si verifica se l'elemento <Key> non è presente o se l'elemento <Parameter> non è presente all'interno dell'elemento <Key> sotto <Entry> dell'elemento <InitialEntries> del criterio Operazioni mappa valori chiave.

Diagnosi

  1. Identifica il criterio di operazioni della mappa chiave-valore 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 Operazioni mappa valori chiave non riuscito, controlla se è presente un elemento <Entry> che non contiene un elemento <Key> o <Parameter> sotto <InitialEntries>.

    Ecco un criterio di operazioni di mappa chiave-valore di esempio in cui manca l'elemento <Parameter> all'interno dell'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>
    

    In questo caso, il problema è causato dal primo elemento.

Risoluzione

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

Per correggere il criterio di operazioni di mappatura delle chiavi di valore di esempio mostrato sopra, il problema viene risolto aggiungendo un elemento <Parameter>:

<?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 l'API o l'interfaccia utente di Apigee non va a buon fine con 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.

Esempio di messaggio di errore

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

Errore durante il salvataggio della revisione 3.

Causa

Questo errore si verifica se l'elemento <Value> non è presente sotto l'elemento <Entry> dell'elemento <InitialEntries> del criterio Operazioni mappa di valori chiave.

Diagnosi

  1. Identifica il criterio di operazioni della mappa chiave-valore 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 Operazioni di mappatura delle chiavi e dei valori non riuscito, controlla se è presente un elemento <Entry> in cui manca un elemento <Value> sotto <InitialEntries>.

    Di seguito è riportato un criterio di operazioni di mappa chiave-valore di esempio 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 delle chiavi e dei valori abbiano un elemento <Value>.

Per correggere il criterio di operazioni di mappatura delle chiavi di valore di esempio mostrato sopra, il problema viene risolto aggiungendo un 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>
            <Value>v1</Value>
        </Entry>
        <Entry>
            <Key>
                <Parameter>k2</Parameter>
            </Key>
            <Value>v2</Value>
        </Entry>
    </InitialEntries>
    ...