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ımı şu hata mesajıyla başarısız oluyor:

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

Bir Anahtar/Değer Çifti Haritası İş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 ile başlar. Bu nedenle sıfır veya negatif tamsayı dizinleri geçersiz kabul edilir.

Örneğin, bir Anahtar Değer Haritası İşlemleri politikasının <Get> öğesinde index0 belirtilmişse API proxy'sinin dağıtımı başarısız olur.

Teşhis

  1. Hataya neden olan Anahtar/Değer Eşlemesi İş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'dir:

    Invalid index 0 in KeyValueMapStepDefinition GetKVM.

  2. Başarısız olan Key Value Map Operations politikasının <Get> öğesinde belirtilen dizin değerinin, hata mesajında tanımlanan değerle (yukarıdaki 1. adım) eşleştiğini doğrulayın. Örneğin, aşağıdaki politika dizinin değerini 0 olarak belirtir. 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 bir tamsayıysa hatanın nedeni budur.

    Yukarıda gösterilen örnek Anahtar/Değer Çifti Haritası İşlemleri politikasında, dizinin değeri 0'dır ve bu değer geçersizdir. Bu nedenle, API proxy'sinin dağıtımı şu hatayla başarısız olur:

    Invalid index 0 in KeyValueMapStepDefinition GetKVM.
    

Çözünürlük

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

Yukarıda gösterilen örnek Anahtar Değer Haritası İş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ımı şu hata mesajıyla başarısız oluyor:

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, <Key> öğesi tamamen eksikse veya Anahtar Değeri Haritası İşlemleri politikasının <InitialEntries> öğesinin <Entry> altındaki <Key> öğesinde <Parameter> öğesi eksikse oluşur.

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 Haritası İşlemleri politikasının adı GetKVM'dır.

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

    Aşağıda, <Key> öğesi içinde <Parameter> öğesi eksik olan örnek bir Anahtar/Değer Eşlemesi İşlemleri politikası verilmiştir:

    <?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 neden olan ilk öğedir.

Çözünürlük

Anahtar Değer Haritası İşlemleri politikasındaki <InitialEntries> öğesinin altındaki tüm <Entry> öğelerinde <Key> öğesi ve ardından <Parameter> öğesi bulunduğundan emin olun.

Yukarıda gösterilen örnek Anahtar Değeri Haritası İş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ımı şu hata mesajıyla başarısız oluyor:

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ğeri Eşleme İşlemleri politikasının <InitialEntries> öğesinin <Entry> öğesinin altında <Value> öğesi eksikse oluşur.

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 Haritası İşlemleri politikasının adı GetKVM'dır.

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

    Aşağıda, <Value> öğesi eksik olan örnek bir Anahtar/Değer Eşlemesi İşlemleri politikası verilmiştir:

    <?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 Haritası İşlemleri politikasındaki <InitialEntries> öğesinin altındaki tüm <Entry> öğelerinin <Value> öğesi içerdiğinden emin olun.

Yukarıda gösterilen örnek Anahtar Değeri Haritası İş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>
    ...