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

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

InvalidIndex

Messaggio di errore

Il deployment del proxy API tramite l'interfaccia utente Edge o l'API di gestione Edge non riesce e viene visualizzato il seguente 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 esempio dell'errore

Causa

Se l'attributo index specificato nell'elemento <Get> di una policy Operazioni della mappa di coppie chiave-valore è zero o un numero negativo, il deployment del proxy API non riesce. L'indice inizia da 1, quindi un indice di zero o un numero intero negativo è considerato non valido.

Ad esempio, se il index specificato è 0 nell'elemento <Get> di una policy Operazioni della mappa di coppie chiave-valore, il deployment del proxy API non riesce.

Diagnosi

  1. Identifica la policy Operazioni della mappa di coppie chiave-valore in cui si è verificato l'errore e l'indice non valido. Puoi trovare queste informazioni nel messaggio di errore. Ad esempio, nel seguente errore, il nome della policy è GetKVM e l'indice non valido è 0:

    Invalid index 0 in KeyValueMapStepDefinition GetKVM.

  2. Verifica che il valore dell'indice specificato nell'elemento <Get> della policy Operazioni della mappa di coppie chiave-valore non riuscita corrisponda al valore identificato nel messaggio di errore (passaggio 1 sopra). Ad esempio, la seguente policy specifica il valore dell'indice come 0, che corrisponde a quello del 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, questa è la causa dell'errore.

    Nella policy Operazioni della mappa di coppie chiave-valore di esempio mostrata sopra, il valore dell'indice è 0, che non è valido. Di conseguenza, il deployment del proxy API non riesce e viene visualizzato il seguente errore:

    Invalid index 0 in KeyValueMapStepDefinition GetKVM.
    

Risoluzione

Assicurati che l'attributo index specificato nell'elemento <Get> della policy Operazioni della mappa di coppie chiave-valore sia valido (numero intero diverso da zero o negativo).

Per correggere la policy Operazioni della mappa di coppie chiave-valore di esempio mostrata 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'interfaccia utente Edge o l'API di gestione Edge non riesce e viene visualizzato il seguente 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 esempio dell'errore

Causa

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

Diagnosi

  1. Identifica la policy Operazioni della mappa di coppie chiave-valore in cui si è verificato l'errore. Puoi trovare queste informazioni nel messaggio di errore. Ad esempio, nel seguente errore, il nome della policy Operazioni della mappa di coppie chiave-valore è GetKVM.

    Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
    
  2. Nella policy Operazioni della mappa di coppie chiave-valore non riuscita, controlla se è presente un <Entry> elemento a cui manca un <Key> o <Parameter> elemento sotto <InitialEntries>.

    Ecco un esempio di policy Operazioni della mappa di coppie chiave-valore a cui manca <Parameter> elemento 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> nella policy Operazioni della mappa di coppie chiave-valore abbiano un elemento <Key> seguito da un elemento <Parameter>.

Per correggere la policy Operazioni della mappa di coppie chiave-valore di esempio mostrata sopra, aggiungi 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'interfaccia utente Edge o l'API di gestione Edge non riesce e viene visualizzato il seguente 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 esempio dell'errore

Causa

Questo errore si verifica se l'elemento <Value> è mancante sotto l'elemento <Entry> dell'elemento <InitialEntries> della policy Operazioni della mappa di coppie chiave-valore.

Diagnosi

  1. Identifica la policy Operazioni della mappa di coppie chiave-valore in cui si è verificato l'errore. Puoi trovare queste informazioni nel messaggio di errore. Ad esempio, nel seguente errore, il nome della policy Operazioni della mappa di coppie chiave-valore è GetKVM.

    Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Value in Entry
    
  2. Nella policy Operazioni della mappa di coppie chiave-valore non riuscita, controlla se è presente un elemento <Entry> a cui manca un elemento <Value> sotto <InitialEntries>.

    Ecco un esempio di policy Operazioni della mappa di coppie chiave-valore a 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> nella policy Operazioni della mappa di coppie chiave-valore abbiano un elemento <Value>.

Per correggere la policy Operazioni della mappa di coppie chiave-valore di esempio mostrata sopra, aggiungi 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>
    ...