'अहम वैल्यू' पर 'मैप ऑपरेशन' की नीति के डिप्लॉयमेंट से जुड़ी गड़बड़ी को हल करना

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.

गड़बड़ी का उदाहरण

वजह

अगर 'की वैल्यू मैप ऑपरेशन' नीति के <Get> एलिमेंट में दिया गया index एट्रिब्यूट शून्य या नेगेटिव संख्या पर सेट है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता. इंडेक्स 1 से शुरू होता है. इसलिए, शून्य या नेगेटिव पूर्णांक का इंडेक्स अमान्य माना जाता है.

उदाहरण के लिए, अगर 'की वैल्यू मैप ऑपरेशन' नीति के <Get> एलिमेंट में index के तौर पर 0 दिया गया है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

संक्रमण की जांच

  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> एलिमेंट, कुंजी की वैल्यू वाली मैप ऑपरेशन नीति के <InitialEntries> एलिमेंट के <Entry> के नीचे मौजूद <Key> एलिमेंट में मौजूद न हो.

संक्रमण की जांच

  1. 'की वैल्यू मैप ऑपरेशन' नीति की पहचान करें जहां गड़बड़ी हुई. आपको यह जानकारी गड़बड़ी के मैसेज से मिल सकती है. उदाहरण के लिए, यहां दी गई गड़बड़ी में 'की वैल्यू मैप ऑपरेशन' नीति का नाम GetKVM है.

    Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
    
  2. कुंजी की वैल्यू को मैप करने से जुड़ी जो नीति काम नहीं कर सकी उसे देखकर पता करें कि कहीं कोई ऐसा <Entry> एलिमेंट तो नहीं है जिसमें <InitialEntries> के नीचे <Key> या <Parameter> एलिमेंट मौजूद नहीं है.

    यहां 'की वैल्यू मैप ऑपरेशन' नीति का एक सैंपल दिया गया है, जिसके <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 यूज़र इंटरफ़ेस (यूआई) या 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

गड़बड़ी का उदाहरण

वजह

यह गड़बड़ी तब होती है, जब कुंजी वैल्यू के मैप ऑपरेशन की नीति के <InitialEntries> एलिमेंट के <Entry> एलिमेंट के नीचे <Value> एलिमेंट मौजूद न हो.

संक्रमण की जांच

  1. 'की वैल्यू मैप ऑपरेशन' नीति की पहचान करें जहां गड़बड़ी हुई. आपको यह जानकारी गड़बड़ी के मैसेज से मिल सकती है. उदाहरण के लिए, यहां दी गई गड़बड़ी में 'की वैल्यू मैप ऑपरेशन' नीति का नाम GetKVM है.

    Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Value in Entry
    
  2. 'क्रिप्टोग्राफ़िक कुंजी के लिए मैप' से जुड़ी जो नीति काम नहीं कर रही है उसमें देखें कि क्या कोई ऐसा <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>
            </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>
    ...