Pemecahan masalah error deployment kebijakan Operasi Peta Nilai Kunci

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

InvalidIndex

Pesan Error

Deployment proxy API melalui UI Edge atau Edge management API gagal dengan pesan error 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 bilangan bulat nol atau negatif dianggap tidak valid.

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

Diagnosis

  1. Identifikasi kebijakan Operasi Peta Nilai Kunci tempat terjadi error dan indeks 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 cocok dengan nilai yang diidentifikasi dalam pesan error (langkah #1 di atas). Misalnya, kebijakan berikut menentukan nilai indeks sebagai 0, yang cocok dengan yang ada dalam 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 nol atau negatif, berarti itulah penyebab error.

    Pada contoh kebijakan Operasi Peta Nilai Kunci yang ditampilkan di atas, nilai indeksnya 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> pada kebijakan Operasi Peta Nilai Kunci valid (bukan nol atau bilangan bulat negatif).

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

Deployment proxy API melalui UI Edge atau Edge management API gagal dengan pesan error 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 elemen <Parameter> tidak ada dalam elemen <Key> di bawah <Entry> elemen <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. Pada kebijakan Operasi Peta Nilai Kunci yang gagal, periksa apakah ada elemen <Entry> yang tidak memiliki elemen <Key> atau <Parameter> di bawah <InitialEntries>.

    Berikut adalah contoh kebijakan Operasi Peta Nilai Kunci yang tidak memiliki elemen <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 yang 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 Utama yang ditampilkan di atas, menambahkan elemen <Parameter> akan menyelesaikan 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

Deployment proxy API melalui UI Edge atau Edge management API gagal dengan pesan error 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> 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. Pada kebijakan Operasi Peta Nilai Kunci yang gagal, periksa apakah ada elemen <Entry> yang tidak memiliki elemen <Value> di bawah <InitialEntries>.

    Berikut adalah 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 Utama yang ditampilkan di atas, menambahkan elemen <Value> akan menyelesaikan 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>
    ...