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

أنت تعرض مستندات 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>
    ...