Pemecahan masalah error deployment kebijakan Operasi Peta Nilai Kunci

Anda sedang melihat dokumentasi Apigee Edge.
Buka Dokumentasi Apigee X.
info

ini.

InvalidIndex

Pesan Error

Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan ini:

Error Saving Revision revision_number
Invalid index index in KeyValueMapStepDefinition policy_name.

Contoh Pesan Error

Error Saving Revision 2
Invalid index 0 in KeyValueMapStepDefinition GetKVM.

Contoh Screenshot Error

Penyebab

Jika atribut index yang ditentukan dalam elemen <Get> kebijakan Operasi Peta Nilai Kunci adalah nol atau angka negatif, deployment proxy API akan gagal. Indeks dimulai dari 1, sehingga indeks nol atau bilangan bulat negatif dianggap tidak valid.

Misalnya, jika index yang ditetapkan adalah 0 di elemen <Get> kebijakan Operasi Peta Nilai Kunci, deployment proxy API akan gagal.

Diagnosis

  1. Mengidentifikasi kebijakan Key Value Map Operations tempat terjadinya error dan indeks yang tidak valid. Anda dapat menemukan informasi ini dari pesan error. Misalnya, dalam error berikut, nama kebijakan adalah GetKVM dan indeks yang tidak valid adalah 0:

    Invalid index 0 in KeyValueMapStepDefinition GetKVM.

  2. Verifikasi bahwa nilai indeks yang ditentukan dalam elemen <Get> kebijakan Operasi Peta Nilai Kunci yang gagal sesuai dengan nilai yang diidentifikasi dalam pesan error (langkah #1 di atas). Misalnya, kebijakan berikut menentukan nilai indeks sebagai 0, yang sesuai dengan isi pesan error:

    <?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. Jika indeks yang ditentukan adalah bilangan bulat negatif atau nol, maka itulah penyebab error.

    Dalam contoh kebijakan Operasi Peta Nilai Kunci yang ditampilkan di atas, nilai indeks adalah 0, yang tidak valid. Oleh karena itu, deployment Proxy API gagal dengan error:

    Invalid index 0 in KeyValueMapStepDefinition GetKVM.
    

Resolusi

Pastikan atribut indeks yang ditentukan dalam elemen <Get> kebijakan Operasi Peta Nilai Kunci valid (bukan bilangan bulat negatif atau bukan nol).

Untuk memperbaiki contoh kebijakan Operasi Peta Nilai Kunci yang ditampilkan di atas, Anda dapat memodifikasi indeks menjadi 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

Pesan Error

Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan ini:

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

Contoh Pesan Error

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

Contoh Screenshot Error

Penyebab

Error ini terjadi jika elemen <Key> benar-benar tidak ada atau <Parameter> elemen tidak ada dalam elemen <Key> di bawah <Entry> dari <InitialEntries> dari kebijakan Operasi Peta Nilai Kunci.

Diagnosis

  1. Identifikasi kebijakan Operasi Peta Nilai Kunci tempat error terjadi. Anda dapat menemukan informasi ini dari pesan error. Misalnya, dalam error berikut, nama kebijakan Operasi Peta Nilai Kunci adalah GetKVM.

    Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
    
  2. Di kebijakan Operasi Peta Nilai Kunci yang gagal, periksa apakah ada <Entry> yang memiliki elemen <Key> atau <Parameter> yang hilang di bawah <InitialEntries>.

    Berikut contoh kebijakan Operasi Peta Nilai Kunci yang tidak memiliki <Parameter> dalam elemen <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>
    

    Dalam hal ini, elemen pertama menyebabkan masalah.

Resolusi

Pastikan semua elemen <Entry> di bawah elemen <InitialEntries> dalam kebijakan Operasi Peta Nilai Kunci memiliki elemen <Key> yang diikuti dengan elemen <Parameter>.

Untuk memperbaiki contoh kebijakan Operasi Peta Nilai Kunci yang ditunjukkan di atas, menambahkan elemen <Parameter> akan memecahkan masalah:

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

Pesan Error

Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan ini:

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

Contoh Pesan Error

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

Contoh Screenshot Error

Penyebab

Error ini terjadi jika elemen <Value> tidak ada di bawah elemen <Entry> elemen <InitialEntries> pada kebijakan Operasi Peta Nilai Kunci.

Diagnosis

  1. Identifikasi kebijakan Operasi Peta Nilai Kunci tempat error terjadi. Anda dapat menemukan informasi ini dari pesan error. Misalnya, dalam error berikut, nama kebijakan Operasi Peta Nilai Kunci adalah GetKVM.

    Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Value in Entry
    
  2. Dalam kebijakan Operasi Peta Nilai Kunci yang gagal, periksa apakah ada elemen <Entry> dengan elemen <Value> yang tidak ada di bawah <InitialEntries>.

    Berikut contoh kebijakan Operasi Peta Nilai Kunci yang tidak memiliki elemen <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>
        ...
    
    

Resolusi

Pastikan semua elemen <Entry> di bawah elemen <InitialEntries> dalam kebijakan Operasi Peta Nilai Kunci memiliki elemen <Value>.

Untuk memperbaiki contoh kebijakan Operasi Peta Nilai Kunci yang ditunjukkan di atas, menambahkan elemen <Value> akan memecahkan masalah:

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