Anahtar/Değer Eşleme İşlemleri politikası dağıtım hatasını giderme

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

InvalidIndex

Hata Mesajı

API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:

Error Saving Revision revision_number
Invalid index index in KeyValueMapStepDefinition policy_name.

Örnek Hata Mesajı

Error Saving Revision 2
Invalid index 0 in KeyValueMapStepDefinition GetKVM.

Örnek Hata Ekran Görüntüsü

Neden

Anahtar/Değer Eşlemesi İşlemleri politikasının <Get> öğesinde belirtilen index özelliği sıfır veya negatif bir sayıysa API proxy'sinin dağıtımı başarısız olur. Dizin, 1 değerinden başlar. Bu nedenle sıfır veya negatif tam sayı içeren bir dizin geçersiz olarak kabul edilir.

Örneğin, belirtilen index, Anahtar/Değer Eşlemesi İşlemleri politikasının <Get> öğesinde 0 ise API proxy'sinin dağıtımı başarısız olur.

Teşhis

  1. Hatanın oluştuğu Anahtar/Değer Eşleme İşlemleri politikasını ve geçersiz dizini belirleyin. Bu bilgileri hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada politika adı GetKVM, geçersiz dizin ise 0 şeklindedir:

    Invalid index 0 in KeyValueMapStepDefinition GetKVM.

  2. Başarısız Anahtar/Değer Eşleme İşlemleri politikasının <Get> öğesinde belirtilen dizin değerinin, hata mesajında belirtilen değerle eşleştiğini doğrulayın (yukarıdaki 1. adım). Örneğin, aşağıdaki politika, dizinin değerini 0 olarak belirtir ve bu değer, hata mesajındaki değerle eşleşir:

    <?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. Belirtilen dizin sıfır veya negatif tam sayıysa hatanın nedeni budur.

    Yukarıda gösterilen Anahtar/Değer Eşleme İşlemleri politikasında, dizinin değeri geçersiz olan 0 değeridir. Bu nedenle, API Proxy'sinin dağıtımı şu hatayı vererek başarısız olur:

    Invalid index 0 in KeyValueMapStepDefinition GetKVM.
    

Çözünürlük

Anahtar/Değer Eşleme İşlemleri politikasının <Get> öğesinde belirtilen dizin özelliğinin geçerli olduğundan (sıfır olmayan veya negatif tam sayı olmayan) emin olun.

Yukarıda gösterilen Anahtar/Değer Eşleme İşlemleri politikasını düzeltmek için dizini 1 olarak değiştirebilirsiniz.

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

Hata Mesajı

API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:

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

Örnek Hata Mesajı

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

Örnek Hata Ekran Görüntüsü

Neden

Bu hata, Anahtar/Değer Eşleme İşlemleri politikasının <InitialEntries> öğesinin <Entry> altındaki <Key> öğesi içinde <Key> öğesi tamamen eksik olduğunda veya <Parameter> öğesi eksik olduğunda ortaya çıkar.

Teşhis

  1. Hatanın oluştuğu Anahtar/Değer Eşlemesi İşlemleri politikasını belirleyin. Bu bilgileri hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada Anahtar/Değer Eşlemesi İşlemleri politikasının adı GetKVM şeklindedir.

    Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
    
  2. Başarısız Anahtar/Değer Eşleme İşlemleri politikasında, <InitialEntries> altında eksik <Key> veya <Parameter> öğesi olan <Entry> öğesi olup olmadığını kontrol edin.

    <Key> öğesi içinde <Parameter> öğesi eksik olan örnek bir Anahtar/Değer Eşleme İşlemleri politikasını burada görebilirsiniz:

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

    Bu durumda, soruna ilk öğe neden olmaktadır.

Çözünürlük

Anahtar/Değer Eşlemesi İşlemleri politikasındaki <InitialEntries> öğesi altındaki tüm <Entry> öğelerinin önce bir <Key> öğesi, ardından <Parameter> öğesi bulunduğundan emin olun.

Yukarıda gösterilen Anahtar/Değer Eşleme İşlemleri politikasını düzeltmek için <Parameter> öğesi eklemek sorunu çözer:

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

Hata Mesajı

API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:

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

Örnek Hata Mesajı

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

Örnek Hata Ekran Görüntüsü

Neden

Bu hata, Anahtar Değer Eşleme İşlemleri politikasının <InitialEntries> öğesinin <Entry> öğesi altında <Value> öğesi eksikse ortaya çıkar.

Teşhis

  1. Hatanın oluştuğu Anahtar/Değer Eşlemesi İşlemleri politikasını belirleyin. Bu bilgileri hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada Anahtar/Değer Eşlemesi İşlemleri politikasının adı GetKVM şeklindedir.

    Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Value in Entry
    
  2. Başarısız Anahtar/Değer Eşleme İşlemleri politikasında, <InitialEntries> altında eksik <Value> öğesi olan <Entry> öğesi olup olmadığını kontrol edin.

    <Value> öğesi eksik olan bir Anahtar/Değer Eşleme İşlemleri politikası örneği:

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

Çözünürlük

Anahtar/Değer Eşlemesi İşlemleri politikasındaki <InitialEntries> öğesi altındaki tüm <Entry> öğelerinin <Value> öğesi içerdiğinden emin olun.

Yukarıda gösterilen Anahtar/Değer Eşleme İşlemleri politikasını düzeltmek için <Value> öğesi eklemek sorunu çözer:

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