تحديد المشاكل وحلّها في ما يتعلّق بنشر سياسة عمليات خريطة القيمة الرئيسية

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

InvalidIndex

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

Error Saving Revision revision_number
Invalid index index in KeyValueMapStepDefinition policy_name.

مثال على رسالة الخطأ

Error Saving Revision 2
Invalid index 0 in KeyValueMapStepDefinition GetKVM.

لقطة شاشة لمثال على الخطأ

السبب

إذا كانت السمة index المحدّدة في العنصر <Get> ضِمن سياسة عمليات ربط القيمة الرئيسية صفرًا أو رقمًا سالبًا، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات. يبدأ الفهرس من 1، لذا فإن الفهرس صفر أو عدد صحيح سالب يُعتبر غير صالح.

على سبيل المثال، إذا كانت قيمة index المحدّدة هي 0 في العنصر <Get> ضمن سياسة عمليات ربط القيم الرئيسية، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات.

التشخيص

  1. حدِّد سياسة عمليات خريطة القيم الرئيسية التي حدث فيها الخطأ والفهرس غير الصالح. يمكنك العثور على هذه المعلومات من رسالة الخطأ. على سبيل المثال، في الخطأ التالي، يكون اسم السياسة هو GetKVM والفهرس غير الصالح هو 0:

    Invalid index 0 in KeyValueMapStepDefinition GetKVM.

  2. تأكَّد من أنّ قيمة الفهرس المحدّدة في العنصر <Get> في سياسة عمليات ربط القيم الرئيسية التي تعذّر تنفيذها تتطابق مع القيمة المحدّدة في رسالة الخطأ (الخطوة 1 أعلاه). على سبيل المثال، تحدِّد السياسة التالية قيمة الفهرس مثل 0، ما يطابق ما ورد في رسالة الخطأ:

    <?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. إذا كان الفهرس المحدّد صفرًا أو عددًا صحيحًا سالبًا، يكون هذا هو سبب الخطأ.

    في مثال سياسة عمليات ربط القيم الرئيسية الموضّحة أعلاه، قيمة الفهرس هي 0، وهي قيمة غير صالحة. ولذلك، يفشل نشر الخادم الوكيل لواجهة برمجة التطبيقات مع ظهور الخطأ:

    Invalid index 0 in KeyValueMapStepDefinition GetKVM.
    

درجة الدقّة

تأكَّد من أنّ سمة الفهرس المحدّدة في العنصر <Get> ضِمن سياسة "عمليات خريطة القيمة الرئيسية" صالحة (عدد صحيح سالب أو غير صفري).

لتصحيح المثال الخاص بسياسة عمليات ربط القيم الرئيسية الموضّحة أعلاه، يمكنك تعديل الفهرس إلى 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

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

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

مثال على رسالة الخطأ

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

لقطة شاشة لمثال على الخطأ

السبب

يحدث هذا الخطأ إذا كان العنصر <Key> غير متوفّر بالكامل أو كان العنصر <Parameter> غير متوفّر داخل العنصر <Key> أسفل <Entry> للعنصر <InitialEntries> من سياسة عمليات الخريطة الرئيسية.

التشخيص

  1. حدِّد سياسة عمليات خريطة القيم الرئيسية التي حدث فيها الخطأ. يمكنك العثور على هذه المعلومات من رسالة الخطأ. على سبيل المثال، في الخطأ التالي، يكون اسم "سياسة عمليات خريطة القيمة الرئيسية" هو GetKVM.

    Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
    
  2. في سياسة "عمليات خريطة القيمة الرئيسية" التي تعذّر تنفيذها، تحقَّق مما إذا كان هناك أي عنصر <Entry> يفتقر إلى عنصر <Key> أو <Parameter> أسفل <InitialEntries>.

    في ما يلي نموذج لسياسة عمليات خريطة القيمة الرئيسية التي لا تحتوي على عنصر <Parameter> ضمن العنصر <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>
    

    في هذه الحالة، العنصر الأول هو سبب المشكلة.

درجة الدقّة

يجب التأكّد من أنّ جميع عناصر <Entry> الموجودة أسفل العنصر <InitialEntries> في سياسة عمليات خريطة القيمة الرئيسية تحتوي على عنصر <Key> متبوعًا بعنصر <Parameter>.

لتصحيح مثال سياسة عمليات خريطة القيمة الرئيسية الموضح أعلاه، تؤدي إضافة العنصر <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

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

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

مثال على رسالة الخطأ

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

لقطة شاشة لمثال على الخطأ

السبب

يحدث هذا الخطأ إذا كان العنصر <Value> غير متوفّر أسفل العنصر <Entry> للعنصر <InitialEntries> ضِمن سياسة عمليات خريطة القيمة الرئيسية.

التشخيص

  1. حدِّد سياسة عمليات خريطة القيم الرئيسية التي حدث فيها الخطأ. يمكنك العثور على هذه المعلومات من رسالة الخطأ. على سبيل المثال، في الخطأ التالي، يكون اسم "سياسة عمليات خريطة القيمة الرئيسية" هو GetKVM.

    Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Value in Entry
    
  2. في سياسة عمليات ربط القيمة الرئيسية التي تعذّر تنفيذها، تحقَّق مما إذا كان هناك أي عنصر <Entry> يفتقد إلى عنصر <Value> أسفل <InitialEntries>.

    في ما يلي نموذج لسياسة عمليات خريطة القيمة الرئيسية التي لا تحتوي على عنصر <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>
        ...
    
    

درجة الدقّة

يجب التأكّد من أنّ جميع عناصر <Entry> الموجودة أسفل العنصر <InitialEntries> في سياسة عمليات خريطة القيمة الرئيسية تحتوي على العنصر <Value>.

لتصحيح مثال سياسة عمليات خريطة القيمة الرئيسية الموضح أعلاه، تؤدي إضافة العنصر <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>
    ...