কী-ভ্যালু ম্যাপ অপারেশন সংক্রান্ত নীতি প্রয়োগে সমস্যা সমাধান করা

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন।
তথ্য

InvalidIndex

ত্রুটি বার্তা

Edge UI বা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি ডেপ্লয়মেন্ট এই সমস্যার মেসেজ সহ ব্যর্থ হয়:

Error Saving Revision revision_number
Invalid index index in KeyValueMapStepDefinition policy_name.

সমস্যার মেসেজের উদাহরণ

Error Saving Revision 2
Invalid index 0 in KeyValueMapStepDefinition GetKVM.

সমস্যার স্ক্রিনশটের উদাহরণ

কারণ

কী ভ্যালু ম্যাপ অপারেশন নীতির <Get> এলিমেন্টে নির্দিষ্ট করা index অ্যাট্রিবিউট শূন্য বা নেগেটিভ সংখ্যা হলে, API প্রক্সি ডেপ্লয় করা যায় না। ইনডেক্স 1 থেকে শুরু হয়, তাই শূন্য বা নেগেটিভ পূর্ণসংখ্যাকে ভুল ইনডেক্স হিসেবে বিবেচনা করা হয়।

যেমন, কোনও কী ভ্যালু ম্যাপ অপারেশন নীতির <Get> এলিমেন্টে index নির্দিষ্ট করা ভ্যালু 0 হলে, API প্রক্সি ডেপ্লয় করা যায় না।

ডায়াগনসিস

  1. কী-ভ্যালু ম্যাপ অপারেশন নীতি শনাক্ত করুন যেখানে সমস্যা হয়েছে এবং ভুল ইন্ডেক্স। আপনি সমস্যার মেসেজ থেকে এই তথ্য পেতে পারেন। যেমন, নিচের এই সমস্যার ক্ষেত্রে, নীতির নাম হল GetKVM এবং ভুল ইন্ডেক্স হল 0:

    Invalid index 0 in KeyValueMapStepDefinition GetKVM.

  2. ব্যর্থ হওয়া কী ভ্যালু ম্যাপ অপারেশন নীতির <Get> এলিমেন্টে নির্দিষ্ট করা ইন্ডেক্সের ভ্যালু, এরর মেসেজে শনাক্ত করা ভ্যালুর (উপরে #১ ধাপ) সাথে মিলছে কিনা তা যাচাই করুন। যেমন, নিম্নলিখিত নীতিতে ইন্ডেক্সের ভ্যালু 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, যা ভুল। তাই, API Proxy-এর ডিপ্লয়মেন্ট এই সমস্যার কারণে ব্যর্থ হয়:

    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 UI বা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি ডেপ্লয়মেন্ট এই সমস্যার মেসেজ সহ ব্যর্থ হয়:

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 Value Map Operations নীতির <InitialEntries> এলিমেন্টের <Entry>-এর মধ্যে <Key> এলিমেন্ট সম্পূর্ণ অনুপস্থিত থাকলে অথবা <Key> এলিমেন্টের মধ্যে <Parameter> এলিমেন্ট অনুপস্থিত থাকলে এই সমস্যা হয়।

ডায়াগনসিস

  1. যেখানে সমস্যা হয়েছে সেই কী-ভ্যালু ম্যাপ অপারেশন নীতি শনাক্ত করুন। আপনি সমস্যার মেসেজ থেকে এই তথ্য পেতে পারেন। যেমন, নিচের এই সমস্যার ক্ষেত্রে, Key Value Map Operations নীতির নাম হল GetKVM।

    Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
    
  2. কী ভ্যালু ম্যাপ অপারেশন সংক্রান্ত নীতি লঙ্ঘন হলে, <Entry> এলিমেন্টের মধ্যে <Key> বা <Parameter> এলিমেন্ট আছে কিনা তা চেক করুন <InitialEntries>।

    এখানে একটি স্যাম্পেল কী ভ্যালু ম্যাপ অপারেশন নীতি দেওয়া হল যেখানে <Key> এলিমেন্টের মধ্যে <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/>
                <Value>v1</Value>
            </Entry>
            <Entry>
                <Key>
                    <Parameter>k2</Parameter>
                </Key>
                <Value>v2</Value>
            </Entry>
        </InitialEntries>
    

    এই ক্ষেত্রে প্রথম এলিমেন্টটি সমস্যার কারণ।

রেজোলিউশন

নিশ্চিত করুন যে কী ভ্যালু ম্যাপ অপারেশন নীতির <InitialEntries> এলিমেন্টের অধীনে থাকা সব <Entry> এলিমেন্টে <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 UI বা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি ডেপ্লয়মেন্ট এই সমস্যার মেসেজ সহ ব্যর্থ হয়:

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

সমস্যার স্ক্রিনশটের উদাহরণ

কারণ

Key Value Map Operations নীতির <InitialEntries> এলিমেন্টের <Entry> এলিমেন্টের মধ্যে <Value> এলিমেন্ট না থাকলে এই সমস্যা হয়।

ডায়াগনসিস

  1. যেখানে সমস্যা হয়েছে সেই কী-ভ্যালু ম্যাপ অপারেশন নীতি শনাক্ত করুন। আপনি সমস্যার মেসেজ থেকে এই তথ্য পেতে পারেন। যেমন, নিচের এই সমস্যার ক্ষেত্রে, Key Value Map Operations নীতির নাম হল GetKVM।

    Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Value in Entry
    
  2. কী ভ্যালু ম্যাপ অপারেশন সংক্রান্ত নীতি লঙ্ঘন হলে, <InitialEntries>-এর মধ্যে <Value> এলিমেন্ট নেই এমন কোনও <Entry> এলিমেন্ট আছে কিনা তা চেক করুন।

    এখানে একটি স্যাম্পেল কী ভ্যালু ম্যাপ অপারেশন নীতি দেওয়া হল যেখানে <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>
        ...
    
    

রেজোলিউশন

'কী ভ্যালু ম্যাপ অপারেশন' নীতির মধ্যে থাকা <InitialEntries> এলিমেন্টের অধীনে থাকা সব <Entry> এলিমেন্টে <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>
    ...