रेगुलर एक्सप्रेशन सुरक्षा नीति के डिप्लॉयमेंट से जुड़ी गड़बड़ी ठीक करना

Apigee Edge दस्तावेज़ देखा जा रहा है.
Apigee X दस्तावेज़ पर जाएं.
जानकारी

InvalidRegularExpression

गड़बड़ी संदेश

इस गड़बड़ी के मैसेज के साथ EDGE यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

Error Deploying Revision revision_number to environment
RegularExpressionProtection policy_name: Invalid Regular Expression com.apigee.steps.regexprotection.RegularExpressionProtectionBean$RegexPattern@f4ecb23, Context Revision:revision_number;APIProxy:RegexThreat;Organization:organization;Environment:environment.

गड़बड़ी के मैसेज का उदाहरण

Error Deploying Revision 1 to test
RegularExpressionProtection Regular-Expression-Protection-1: Invalid Regular Expression com.apigee.steps.regexprotection.RegularExpressionProtectionBean$RegexPattern@f4ecb23, Context Revision:1;APIProxy:RegexThreat;Organization:myorg;Environment:test.

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

अमान्य रेगुलर एक्सप्रेशन गड़बड़ी टेक्स्ट

वजह

अगर regularExpressionProtection की नीति के <Pattern> एलिमेंट में शामिल रेगुलर एक्सप्रेशन मान्य नहीं है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

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

  1. गड़बड़ी के मैसेज से regularExpressionProtection नीति का नाम पहचानें. उदाहरण के लिए, इस गड़बड़ी में regularExpressionProtection नीति का नाम Regular-Expression-Protection-1: है

    Error Deploying Revision 1 to test
    RegularExpressionProtection Regular-Expression-Protection-1: Invalid Regular Expression com.apigee.steps.regexprotection.RegularExpressionProtectionBean$RegexPattern@f4ecb23, Context Revision:1;APIProxy:RegexThreat;Organization:myorg;Environment:test.
    
  2. रेगुलर एक्सप्रेशन सुरक्षा नीति एक्सएमएल में शामिल सभी <Pattern> एलिमेंट की जांच करें. देखें कि किसी <Pattern> एलिमेंट में अमान्य रेगुलर एक्सप्रेशन तो नहीं है. अगर किसी भी <Pattern> एलिमेंट में अमान्य रेगुलर एक्सप्रेशन है, तो यही गड़बड़ी है.

    उदाहरण के लिए, यह नीति foo){2} की Pattern> वैल्यू के बारे में बताती है. इसे अमान्य रेगुलर एक्सप्रेशन माना जाता है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1">
            <DisplayName>Regular Expression Protection-1</DisplayName>
            <Properties/>
            <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
            <URIPath>
                <Pattern>foo){2}</Pattern>
            </URIPath>
            <Source>request</Source>
        </RegularExpressionProtection>
    

    ऊपर दिए गए उदाहरण में, <Pattern> में बताए गए रेगुलर एक्सप्रेशन के शुरुआती ब्रैकेट मौजूद नहीं हैं. इसलिए, इसे अमान्य रेगुलर एक्सप्रेशन माना जाता है. इसलिए API प्रॉक्सी का डिप्लॉयमेंट विफल हो जाता है.

रिज़ॉल्यूशन

यह देख लें कि regularExpressionProtection नीति के हर <Pattern> एलिमेंट में एक मान्य रेगुलर एक्सप्रेशन मौजूद हो. अपने रेगुलर एक्सप्रेशन को डीबग करने के लिए, अलग-अलग ऑनलाइन या ऑफ़लाइन रेगुलर एक्सप्रेशन टूल खोजे जा सकते हैं. ऊपर दिखाई गई रेगुलर एक्सप्रेशन सुरक्षा नीति के उदाहरण को ठीक करने के लिए, छूटे हुए ब्रैकेट जोड़ें:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1">
        <DisplayName>Regular Expression Protection-1</DisplayName>
        <Properties/>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <URIPath>
            <Pattern>(foo){2}</Pattern>
        </URIPath>
        <Source>request</Source>
    </RegularExpressionProtection>

XPathCompilationFailed

गड़बड़ी संदेश

इस गड़बड़ी के मैसेज के साथ EDGE यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

Error Deploying Revision revision_number to environment
RegularExpressionProtection policy_name: Failed to compile xpath xpath_expression. Context Revision:revision_number;APIProxy:RegexThreat;Organization:organization;Environment:environment.

गड़बड़ी के मैसेज का उदाहरण

Error Deploying Revision 1 to test
RegularExpressionProtection Regular-Expression-Protection-1: Failed to compile xpath /notapigee:foo/notapigee:bar. Context Revision:1;APIProxy:RegexThreat;Organization:myorg;Environment:test.

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

XPathCompilationफ़ेल गड़बड़ी टेक्स्ट

वजह

अगर <XPath> एलिमेंट में इस्तेमाल किया गया प्रीफ़िक्स या वैल्यू, regularExpressionProtection नीति में बताए गए किसी भी नेमस्पेस का हिस्सा नहीं है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

आपको एक्सएमएल नेमस्पेस और एक्सएसएलटी और एक्सएसएलटी पर उनका असर कैसे पड़ता है में नेमस्पेस, XPath और प्रीफ़िक्स के बारे में ज़्यादा जानकारी मिल सकती है.

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

  1. regularexpressionProtection नीति के उस नाम की पहचान करें जहां गड़बड़ी हुई. साथ ही, उस XPath एक्सप्रेशन की पहचान करें जिसका इस्तेमाल किया गया था. आपको ये दोनों आइटम, गड़बड़ी के मैसेज में मिल सकते हैं.

    उदाहरण के लिए, नीचे दी गई गड़बड़ी में नीति का नाम Regular-Expression-Protection-1 है और XPath एक्सप्रेशन /notapigee:foo/notapigee:bar: है

    Error Deploying Revision 1 to test
    RegularExpressionProtection Regular-Expression-Protection-1: Failed to compile xpath /notapigee:foo/notapigee:bar. Context Revision:1;APIProxy:RegexThreat;Organization:myorg;Environment:test.
    
  2. रेगुलर एक्सप्रेशन सुरक्षा नीति एक्सएमएल में, पुष्टि करें कि Expression एलिमेंट में सेट किया गया XPath, गड़बड़ी के मैसेज (ऊपर दिया गया चरण #1) में पहचाने गए XPath से मेल खाता है या नहीं.

    उदाहरण के लिए, नीचे दी गई नीति XPath को /notapigee:foo/notapigee:bar के रूप में तय करती है जो गड़बड़ी के मैसेज में मौजूद जानकारी से मेल खाती है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1">
        <DisplayName>Regular Expression Protection-1</DisplayName>
        <Properties/>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <Source>request</Source>
         <XMLPayload>
             <Namespaces>
                 <Namespace prefix="apigee">http://www.apigee.com</Namespace>
             </Namespaces>
             <XPath>
                 <Expression>/notapigee:foo/notapigee:bar</Expression>
                 <Type>nodeset</Type>
                 <Pattern>pattern</Pattern>
                 <Pattern>pattern2</Pattern>
             </XPath>
         </XMLPayload>
    </RegularExpressionProtection>
    
  3. regularExpressionProtection की नीति में <Namespaces> और <Expression> एलिमेंट की जांच करें. अगर गड़बड़ी के मैसेज में दिखाए गए खास <Expression> में ऐसे प्रीफ़िक्स या वैल्यू का इस्तेमाल किया गया है जो regularExpressionProtection की नीति में बताए गए नेमस्पेस का हिस्सा नहीं है, तो गड़बड़ी की वजह यही है.

    ध्यान दें कि खास <XPath> में, regularExpressionProtection की नीति के उदाहरण में बताया गया है कि प्रीफ़िक्स notapigee का इस्तेमाल किया गया है:

    <Expression>/notapigee:foo/notapigee:bar</Expression>

    हालांकि, प्रीफ़िक्स notapigee किसी भी <Namespace> एलिमेंट में तय नहीं किया गया है. इसलिए, <XPath> के कंपाइलेशन से डिप्लॉयमेंट नहीं हो पाता है.

रिज़ॉल्यूशन

पक्का करें कि <XPath> एलिमेंट में <Expression> एलिमेंट में इस्तेमाल किए जा रहे सभी नेमस्पेस के बारे में, regularExpressionProtection नीति में बताया गया हो. ऊपर दिए गए उदाहरण को ठीक करने के लिए, notapigee प्रीफ़िक्स को apigee से बदला जा सकता है, जो नेमस्पेस में बताया गया है:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1">
    <DisplayName>Regular Expression Protection-1</DisplayName>
    <Properties/>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <Source>request</Source>
     <XMLPayload>
         <Namespaces>
             <Namespace prefix="apigee">http://www.apigee.com</Namespace>
         </Namespaces>
         <XPath>
             <Expression>/apigee:foo/apigee:bar</Expression>
             <Type>nodeset</Type>
             <Pattern>pattern</Pattern>
             <Pattern>pattern2</Pattern>
         </XPath>
     </XMLPayload>
</RegularExpressionProtection>

CannotBeConvertedToNodeset

गड़बड़ी संदेश

इस गड़बड़ी के मैसेज के साथ EDGE यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

Error Deploying Revision revision_number to environment
RegularExpressionProtection policy_name: Result of xpath xpath_expression cannot be converted to nodeset. Context Revision:revision_number;APIProxy:RegexThreat;Organization:organization;Environment:environment.

गड़बड़ी के मैसेज का उदाहरण

Error Deploying Revision 1 to test
RegularExpressionProtection Regular-Expression-Protection-1: Result of xpath count(//apigee:foo) cannot be converted to nodeset. Context Revision:1;APIProxy:RegexThreat;Organization:myorg;Environment:test.

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

नहीं किया जा सकने वाला कन्वर्ज़न टू नोडसेट गड़बड़ी का टेक्स्ट

वजह

अगर रेगुलर एक्सप्रेशन की नीति में <XPath> एक्सप्रेशन है जिसमें <Type> एलिमेंट को नोडसेट के तौर पर परिभाषित किया गया है, लेकिन एक्सप्रेशन को नोडसेट में बदला नहीं जा सकता, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

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

  1. regularExpressionProtection की नीति की पहचान करें जहां गड़बड़ी हुई थी. साथ ही, उस XPath एक्सप्रेशन की पहचान करें जिसे नोडसेट में बदला नहीं जा सकता. आपको ये दोनों आइटम, गड़बड़ी के मैसेज में मिल सकते हैं.

    उदाहरण के लिए, नीचे दी गई गड़बड़ी में नीति का नाम Regular-Expression-Protection-1 है और XPath एक्सप्रेशन count(//apigee:foo): है

    Error Deploying Revision 1 to test
    RegularExpressionProtection Regular-Expression-Protection-1: Result of xpath count(//apigee:foo) cannot be converted to nodeset. Context Revision:1;APIProxy:RegexThreat;Organization:myorg;Environment:test.
    
  2. असफल रेगुलर एक्सप्रेशन सुरक्षा नीति एक्सएमएल में, पुष्टि करें कि <XPath> एलिमेंट के <Expression> एलिमेंट में सेट किया गया XPath, गड़बड़ी के मैसेज (ऊपर दिया गया चरण #1) में पहचाने गए XPath से मेल खाता है या नहीं.

    उदाहरण के लिए, इस नीति में count(//apigee:foo) के बारे में बताया गया है, जो गड़बड़ी के मैसेज में मौजूद कॉन्टेंट से मेल खाता है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1">
            <DisplayName>Regular Expression Protection-1</DisplayName>
            <Properties/>
            <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
            <Source>request</Source>
             <XMLPayload>
                 <Namespaces>
                     <Namespace prefix="apigee">http://www.apigee.com</Namespace>
                 </Namespaces>
                 <XPath>
                     <Expression>count(//apigee:foo)</Expression>
                     <Type>nodeset</Type>
                     <Pattern>pattern</Pattern>
                     <Pattern>pattern2</Pattern>
                 </XPath>
             </XMLPayload>
        </RegularExpressionProtection>
    
  3. <XPath> एलिमेंट के नीचे मौजूद <Type> एलिमेंट में सेट की गई वैल्यू की जांच करें. अगर <Type> एलिमेंट में nodeset है, तो इसी वजह से गड़बड़ी हुई है.

    इस उदाहरण में, XPath एक्सप्रेशन count() है जो एक या ज़्यादा नोड नहीं दिखाता है. इसलिए, API प्रॉक्सी का डिप्लॉयमेंट विफल हो जाता है.

रिज़ॉल्यूशन

अगर <Type> एलिमेंट को नोडसेट पर सेट किया गया है, तो पक्का करें कि <XPath> में सेट किए गए <Expression> एलिमेंट का नतीजा एक या एक से ज़्यादा नोड का हो. इसके अलावा, <Type> एलिमेंट को अपनी ज़रूरत के हिसाब से सही वैल्यू में बदला जा सकता है.

ऊपर दिए गए उदाहरण को ठीक करने के लिए, <Expression> एलिमेंट को उस अलग वैल्यू में बदला जा सकता है जो नोड दिखा सकती है:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1">
    <DisplayName>Regular Expression Protection-1</DisplayName>
    <Properties/>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <Source>request</Source>
     <XMLPayload>
         <Namespaces>
             <Namespace prefix="apigee">http://www.apigee.com</Namespace>
         </Namespaces>
         <XPath>
             <Expression>/apigee:foo/apigee:bar</Expression>
             <Type>nodeset</Type>
             <Pattern>pattern</Pattern>
             <Pattern>pattern2</Pattern>
         </XPath>
     </XMLPayload>
</RegularExpressionProtection>

JSONPathCompilationFailed

गड़बड़ी संदेश

इस गड़बड़ी के मैसेज के साथ EDGE यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

Error Deploying Revision revision_number to environment
RegularExpressionProtection policy_name: Failed to compile jsonpath jsonpath_expression Context Revision:revision_number;APIProxy:RegexThreat;Organization:organization;Environment:environment.

गड़बड़ी के मैसेज का उदाहरण

Error Deploying Revision 1 to test
RegularExpressionProtection Regular-Expression-Protection-1: Failed to compile jsonpath $.store.book[*.author. Context Revision:1;APIProxy:RegexThreat;Organization:myorg;Environment:test.

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

JSONPathCompilationvil गड़बड़ी वाला टेक्स्ट

वजह

अगर रेगुलर एक्सप्रेशन सुरक्षा नीति के <JSONPath> एलिमेंट में मौजूद <Expression> एलिमेंट को अमान्य JSONPath एक्सप्रेशन पर सेट किया गया है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

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

  1. उस regularExpressionProtection नीति के नाम की पहचान करें जहां गड़बड़ी हुई और अमान्य JSONPath एक्सप्रेशन का इस्तेमाल किया गया था. आपको ये दोनों आइटम, गड़बड़ी के मैसेज में मिल सकते हैं.

    उदाहरण के लिए, नीचे दी गई गड़बड़ी में , नीति का नाम Regular-Expression-Protection-1 है और JSONPath एक्सप्रेशन में $.store.book[*.author: है

    Error Deploying Revision 1 to test
    RegularExpressionProtection Regular-Expression-Protection-1: Failed to compile jsonpath $.store.book[*.author. Context Revision:1;APIProxy:RegexThreat;Organization:myorg;Environment:test.
    
  2. सफल न होने वाली रेगुलर एक्सप्रेशन सुरक्षा नीति एक्सएमएल में, पुष्टि करें कि Expression एलिमेंट में सेट किया गया JSONPath, गड़बड़ी के मैसेज (ऊपर दिया गया चरण #1) में पहचाने गए JSONPath से मेल खाता है.

    उदाहरण के लिए, इस नीति में <JSONPath> एलिमेंट में Expression एलिमेंट को $.store.book[*.author के तौर पर दिखाया गया है, जो गड़बड़ी के मैसेज में मौजूद एलिमेंट से मेल खाता है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1">
            <DisplayName>Regular Expression Protection-1</DisplayName>
            <Properties/>
            <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
            <Source>request</Source>
            <JSONPayload>
                 <JSONPath>
                     <Expression>$.store.book[*.author</Expression>
                     <Pattern>REGEX PATTERN</Pattern>
                     <Pattern>REGEX PATTERN</Pattern>
                 </JSONPath>
                </JSONPayload>
        </RegularExpressionProtection>
    
  3. नीति के <JSONPath> एलिमेंट में <Expression> एलिमेंट की जांच करें. अगर यह JSONPath के सिंटैक्स से मैच नहीं होती, तो यह गड़बड़ी की वजह है. ऊपर दिए गए उदाहरण में, क्लोज़िंग स्क्वेयर ब्रैकेट मौजूद नहीं है. इसलिए, एक्सप्रेशन अमान्य हो जाता है.

    JSON पाथ एक्सप्रेशन अमान्य है, इसलिए एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

रिज़ॉल्यूशन

पक्का करें कि रेगुलर एक्सप्रेशन सुरक्षा नीति के <JSONPath> एलिमेंट में <Expression> एलिमेंट का मान एक मान्य JSONPath एक्सप्रेशन हो.

ऊपर दिखाए गए उदाहरण को ठीक करने के लिए, <Expression> एलिमेंट की वैल्यू में क्लोज़िंग स्क्वेयर ब्रैकेट नहीं जोड़ा जा सकता:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1">
    <DisplayName>Regular Expression Protection-1</DisplayName>
    <Properties/>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <Source>request</Source>
    <JSONPayload>
         <JSONPath>
             <Expression>$.store.book[*].author</Expression>
             <Pattern>REGEX PATTERN</Pattern>
             <Pattern>REGEX PATTERN</Pattern>
         </JSONPath>
        </JSONPayload>
</RegularExpressionProtection>

NothingToEnforce

गड़बड़ी संदेश

इस गड़बड़ी के मैसेज के साथ EDGE यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

Error Saving Revision revision_number
RegularExpressionProtection policy_name: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory.

गड़बड़ी के मैसेज का उदाहरण

Error Saving Revision 1
RegularExpressionProtection Regular-Expression-Protection-1: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory.

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

NothingToEnforce की गड़बड़ी वाला टेक्स्ट

वजह

अगर regularExpressionProtection नीति में <URIPath>, <QueryParam>, <Header>, <FormParam>, <XMLPayload> या <JSONPayload> में से कोई भी एलिमेंट न हो, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

जैसा कि गड़बड़ी के मैसेज में बताया गया है, regularExpressionProtection नीति के लिए नीति में, इनमें से कम से कम एक एलिमेंट ज़रूर होना चाहिए: <URIPath>, <QueryParam>, <Header>, <FormParam>, <XMLPayload> या <JSONPayload>.

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

  1. उस regularExpressionProtection नीति का नाम बताएं जहां गड़बड़ी हुई है. इसके बारे में आपको गड़बड़ी के मैसेज में मिलेगा. उदाहरण के लिए, इस गड़बड़ी में नीति का नाम Regular-Expression-Protection-1: है

    RegularExpressionProtection Regular-Expression-Protection-1: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory.
    
  2. सफल न होने वाली रेगुलर एक्सप्रेशन सुरक्षा नीति की जांच करें (जिसकी पहचान ऊपर चरण #1 में की गई है). अगर नीति में इनमें से कोई भी एलिमेंट मौजूद नहीं है: <URIPath>, <QueryParam>, <Header>, <FormParam>, <XMLPayload> या <JSONPayload>, तो इस गड़बड़ी की वजह से ऐसा होगा.

    उदाहरण के लिए, नीचे दी गई रेगुलर एक्सप्रेशन सुरक्षा नीति में ऊपर बताया गया कोई भी एलिमेंट नहीं है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1">
            <DisplayName>Regular Expression Protection-1</DisplayName>
            <Properties/>
            <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
            <Source>request</Source>
        </RegularExpressionProtection>
    

    एक्सट्रैक्ट वैरिएबल नीति में कोई भी ज़रूरी एलिमेंट मौजूद नहीं है, इसलिए एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

रिज़ॉल्यूशन

यह पक्का करें कि regularExpressionProtection की नीति में इनमें से कम से कम एक ज़रूरी एलिमेंट हो: <URIPath>, <QueryParam>, <Header>, <FormParam>, <XMLPayload> या <JSONPayload>. उदाहरण के लिए:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1">
    <DisplayName>Regular Expression Protection-1</DisplayName>
    <Properties/>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <Source>request</Source>
    <JSONPayload>
        <JSONPath>
            <Expression>$.store.book[*].author</Expression>
            <Pattern>REGEX PATTERN</Pattern>
            <Pattern>REGEX PATTERN</Pattern>
        </JSONPath>
    </JSONPayload>
</RegularExpressionProtection>

NoPatternsToEnforce

गड़बड़ी संदेश

इस गड़बड़ी के मैसेज के साथ EDGE यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

Error Saving Revision revision_number
RegularExpressionProtection policy_name: No patterns to enforce in payload_name.

गड़बड़ी के मैसेज का उदाहरण

Error Saving Revision 1
RegularExpressionProtection Regular-Expression-Protection-1: No patterns to enforce in XPath.

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

NoPatternsToEnforce गड़बड़ी का टेक्स्ट

वजह

अगर किसी भी टॉप लेवल एलिमेंट (<URIPath>, <QueryParam>, <Header>, <FormParam>, <XMLPayload> या <JSONPayload>) के लिए regularExpressionProtection नीति में <Pattern> एलिमेंट शामिल नहीं किया गया है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

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

  1. regularExpressionProtection नीति के उस नाम की पहचान करें जहां गड़बड़ी हुई है. साथ ही, उस चाइल्ड एलिमेंट की भी पहचान करें जिसमें <Pattern> एलिमेंट नहीं है. आपको ये दोनों आइटम, गड़बड़ी के मैसेज में मिल सकते हैं.

    उदाहरण के लिए, इस गड़बड़ी में नीति का नाम Regular-Expression-Protection-1 है और चाइल्ड एलिमेंट XPath: है

    RegularExpressionProtection Regular-Expression-Protection-1: No patterns to enforce in XPath.
    
  2. काम न करने वाली रेगुलर एक्सप्रेशन सुरक्षा नीति की जांच करें और पुष्टि करें कि चरण #1 में बताए गए चाइल्ड एलिमेंट में <Pattern> एलिमेंट है या नहीं. अगर इसमें <Pattern> एलिमेंट मौजूद नहीं है, तो इस गड़बड़ी की वजह यह है.

    उदाहरण के लिए, इस नीति में <XPath> के अंदर <Pattern> एलिमेंट नहीं है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1">
          <DisplayName>Regular Expression Protection-1</DisplayName>
          <Properties/>
          <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
          <Source>request</Source>
          <XMLPayload>
            <Namespaces>
              <Namespace prefix="apigee">http://www.apigee.com</Namespace>
            </Namespaces>
            <XPath>
              <Expression>/apigee:Greeting/apigee:User</Expression>
              <Type>string</Type>
            </XPath>
          </XMLPayload>
        </RegularExpressionProtection>
    

    <XPath> एलिमेंट में <Pattern> एलिमेंट नहीं है, इसलिए एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

रिज़ॉल्यूशन

पक्का करें कि किसी भी एलिमेंट <URIPath>, <QueryParam>, <Header>, <FormParam>, <XMLPayload> या <JSONPayload> में कम से कम एक <Pattern> मौजूद हो. एलिमेंट की सही जानकारी देने के बारे में जानने के लिए, regularExpressionProtection की नीति देखें.

ऊपर दिए गए उदाहरण को ठीक करने के लिए, हम बस <XMLPayload> के नीचे <XPath> एलिमेंट में <Pattern> एलिमेंट जोड़ सकते हैं:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1">
  <DisplayName>Regular Expression Protection-1</DisplayName>
  <Properties/>
  <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
  <Source>request</Source>
  <XMLPayload>
    <Namespaces>
      <Namespace prefix="apigee">http://www.apigee.com</Namespace>
    </Namespaces>
    <XPath>
      <Expression>/apigee:Greeting/apigee:User</Expression>
      <Type>string</Type>
      <Pattern>REGEX PATTERN</Pattern>
    </XPath>
  </XMLPayload>
</RegularExpressionProtection>

nonखालीPrefixmappedToEmpty विरोधी

गड़बड़ी संदेश

इस गड़बड़ी के मैसेज के साथ EDGE यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

Error Saving Revision revision_number
RegularExpressionProtection policy_name: Non-empty prefix prefix_name cannot be mapped to empty uri.

गड़बड़ी के मैसेज का उदाहरण

Error Saving Revision 1
RegularExpressionProtection Regular-Expression-Protection-1: Non-empty prefix apigee cannot be mapped to empty uri.

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

NONखालीPrefixmappedToEmpty विरोधी गड़बड़ी का टेक्स्ट

वजह

यह गड़बड़ी तब होती है, जब regularExpressionProtection नीति को <XMLPayload> एलिमेंट के तहत <Namespace> एलिमेंट में तय करें, लेकिन कोई यूआरआई तय न किया गया हो.

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

  1. regularExpressionProtection की नीतिकी पहचान करें जहां गड़बड़ी हुई है. साथ ही, उस प्रीफ़िक्स का नाम भी बताएं जिसे यूआरआई से मैप नहीं किया गया है. आपको ये दोनों आइटम, गड़बड़ी के मैसेज में मिल सकते हैं.

    उदाहरण के लिए, नीचे दी गई गड़बड़ी में नीति का नाम रेगुलर एक्सप्रेशन सुरक्षा-1 है और प्रीफ़िक्स apigee है:

    RegularExpressionProtection Regular-Expression-Protection-1: Non-empty prefix apigee cannot be mapped to empty uri.
    
  2. सफल न होने वाले रेगुलर एक्सप्रेशन सुरक्षा नीति एक्सएमएल में, पुष्टि करें कि <XMLPayload> एलिमेंट के तहत <Namespace> एलिमेंट में सेट किए गए प्रीफ़िक्स का नाम, गड़बड़ी के मैसेज (ऊपर दिया गया चरण #1) में पहचाने गए प्रीफ़िक्स नाम से मेल खाता है.

    उदाहरण के लिए, इस नीति में <Namespace> एलिमेंट में apigee नाम के प्रीफ़िक्स के बारे में बताया गया है. यह प्रीफ़िक्स , गड़बड़ी के मैसेज में मौजूद प्रीफ़िक्स से मेल खाता है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1">
          <DisplayName>Regular Expression Protection-1</DisplayName>
          <Properties/>
          <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
          <Source>request</Source>
          <XMLPayload>
            <Namespaces>
              <Namespace prefix="apigee"/>
              <Namespace prefix="gmail">http://mail.google.com</Namespace>
            </Namespaces>
            <XPath>
              <Expression>/apigee:Greeting/apigee:User</Expression>
              <Type>string</Type>
              <Pattern>REGEX PATTERN</Pattern>
            </XPath>
          </XMLPayload>
        </RegularExpressionProtection>
    
  3. पुष्टि करें कि चरण #2 में बताए गए खास प्रीफ़िक्स वाले <Namespace> एलिमेंट में मान्य यूआरआई मौजूद है या नहीं. अगर यूआरआई मौजूद नहीं है, तो यही गड़बड़ी की वजह है.

    ऊपर दिखाई गई रेगुलर एक्सप्रेशन सुरक्षा नीति के उदाहरण में, ध्यान दें कि apigee प्रीफ़िक्स वाले <Namespace> एलिमेंट से जुड़ा कोई यूआरआई नहीं है. इसलिए, आपको यह गड़बड़ी मिली है:

    Non-empty prefix apigee cannot be mapped to empty uri.

रिज़ॉल्यूशन

पक्का करें कि प्रीफ़िक्स के साथ तय किए गए सभी <Namespace> एलिमेंट में, एक्सट्रैक्ट वैरिएबल नीति में एक यूआरआई शामिल हो. उदाहरण के लिए:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1">
  <DisplayName>Regular Expression Protection-1</DisplayName>
  <Properties/>
  <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
  <Source>request</Source>
  <XMLPayload>
    <Namespaces>
      <Namespace prefix="apigee">http://www.apigee.com</Namespace>
      <Namespace prefix="gmail">http://mail.google.com</Namespace>
    </Namespaces>
    <XPath>
      <Expression>/apigee:Greeting/apigee:User</Expression>
      <Type>string</Type>
      <Pattern>REGEX PATTERN</Pattern>
    </XPath>
  </XMLPayload>
</RegularExpressionProtection>

DuplicatePrefix

गड़बड़ी संदेश

इस गड़बड़ी के मैसेज के साथ EDGE यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

Error Saving Revision revision_number
RegularExpressionProtection policy_name: Duplicate prefix prefix_name.

गड़बड़ी के मैसेज का उदाहरण

Error Saving Revision 1
RegularExpressionProtection Regular-Expression-Protection-1: Duplicate prefix apigee.

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

डुप्लीकेट प्रीफ़िक्स की गड़बड़ी वाला टेक्स्ट

वजह

यह गड़बड़ी तब होती है, जब regularexpressionProtection नीति के एक ही प्रीफ़िक्स को <XMLPayload> एलिमेंट में <Namespace> एलिमेंट में एक से ज़्यादा बार तय किया गया है.

उदाहरण के लिए, यह गड़बड़ी तब होती है, जब apigee प्रीफ़िक्स को दो बार तय किया गया है, जैसा कि यहां दिखाया गया है:

<Namespace prefix="apigee">http://www.apigee.com</Namespace>
<Namespace prefix="apigee">http://www.apigee.com</Namespace>

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

  1. regularExpressionProtection की नीति की पहचान करें जहां गड़बड़ी हुई है और प्रीफ़िक्स का नाम डालें. आपको ये दोनों आइटम, गड़बड़ी के मैसेज में मिल सकते हैं.

    उदाहरण के लिए, नीचे दी गई गड़बड़ी में नीति का नाम रेगुलर एक्सप्रेशन सुरक्षा-1 है और प्रीफ़िक्स apigee है:

    RegularExpressionProtection Regular-Expression-Protection-1: Duplicate prefix apigee.
    
  2. सफल न होने वाले रेगुलर एक्सप्रेशन सुरक्षा नीति एक्सएमएल में, पुष्टि करें कि <XMLPayload> एलिमेंट के तहत <Namespace> एलिमेंट में सेट किए गए प्रीफ़िक्स का नाम, गड़बड़ी के मैसेज (ऊपर दिया गया चरण #1) में पहचाने गए प्रीफ़िक्स नाम से मेल खाता है.

    उदाहरण के लिए, इस नीति में <Namespace> एलिमेंट में apigee नाम के प्रीफ़िक्स के बारे में बताया गया है. यह प्रीफ़िक्स , गड़बड़ी के मैसेज में मौजूद प्रीफ़िक्स से मेल खाता है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1">
          <DisplayName>Regular Expression Protection-1</DisplayName>
          <Properties/>
          <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
          <Source>request</Source>
          <XMLPayload>
            <Namespaces>
              <Namespace prefix="apigee">http://www.apigee.com</Namespace>
              <Namespace prefix="apigee">http://www.apigee.com</Namespace>
            </Namespaces>
            <XPath>
              <Expression>/apigee:Greeting/apigee:User</Expression>
              <Type>string</Type>
              <Pattern>REGEX PATTERN</Pattern>
            </XPath>
          </XMLPayload>
        </RegularExpressionProtection>
    
  3. तय करें कि क्या चरण #2 में बताए गए खास प्रीफ़िक्स वाले <Namespace> एलिमेंट को एक से ज़्यादा बार तय किया गया है. अगर इसे एक से ज़्यादा बार बताया गया है, तो इसका मतलब है कि गड़बड़ी इसी वजह से हुई है.

    ऊपर दी गई रेगुलर एक्सप्रेशन सुरक्षा नीति के उदाहरण में, ध्यान दें कि apigee प्रीफ़िक्स के साथ <Namespace> एलिमेंट को दो बार तय किया गया है; इसलिए, आपको यह गड़बड़ी मिली है:

    Duplicate prefix apigee.
    

रिज़ॉल्यूशन

यह देख लें कि regularExpressionProtection की नीति में दिए गए <Namespace> एलिमेंट में, हर प्रीफ़िक्स की सिर्फ़ एक परिभाषा दी गई हो. उदाहरण के लिए:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1">
      <DisplayName>Regular Expression Protection-1</DisplayName>
      <Properties/>
      <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
      <Source>request</Source>
      <XMLPayload>
        <Namespaces>
          <Namespace prefix="apigee">http://www.apigee.com</Namespace>
        </Namespaces>
        <XPath>
          <Expression>/apigee:Greeting/apigee:User</Expression>
          <Type>string</Type>
          <Pattern>REGEX PATTERN</Pattern>
        </XPath>
      </XMLPayload>
    </RegularExpressionProtection>

EmptyXPathExpression

गड़बड़ी संदेश

इस गड़बड़ी के मैसेज के साथ EDGE यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

Error Saving Revision revision_number
RegularExpressionProtection policy_name: Empty XPath expression.

गड़बड़ी के मैसेज का उदाहरण

Error Saving Revision 1
RegularExpressionProtection Regular-Expression-Protection-1: Empty XPath expression.

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

खालीXPathExpression गड़बड़ी का टेक्स्ट

वजह

अगर regularExpressionProtection नीति के <XPath> एलिमेंट में कोई <Expression> एलिमेंट सेट नहीं है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

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

  1. गड़बड़ी के मैसेज से, रेगुलर एक्सप्रेशन की ऐसी नीति की पहचान करें जो पूरी नहीं हो सकी. उदाहरण के लिए, इस गड़बड़ी में नीति का नाम रेगुलर-एक्सप्रेशन-Protection-1 है:

    RegularExpressionProtection Regular-Expression-Protection-1: Empty XPath expression.
    
  2. असफल रेगुलर एक्सप्रेशन सुरक्षा नीति एक्सएमएल में, यह तय करें कि क्या <XPath> चाइल्ड एलिमेंट वाला <XMLPayload> एलिमेंट है जिसमें कोई <Expression> एलिमेंट तय नहीं है या <Expression> एलिमेंट को किसी भी वैल्यू पर सेट नहीं किया गया है. अगर ऐसा है, तो यही गड़बड़ी की वजह है.

    उदाहरण के लिए, यहां रेगुलर एक्सप्रेशन सुरक्षा नीति दी गई है, जिसमें एक <XMLPayload> एलिमेंट है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1">
      <DisplayName>Regular Expression Protection-1</DisplayName>
      <Properties/>
      <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
      <Source>request</Source>
      <XMLPayload>
        <Namespaces>
          <Namespace prefix="apigee">http://www.apigee.com</Namespace>
        </Namespaces>
        <XPath>
          <Expression></Expression>
          <Type>string</Type>
          <Pattern>REGEX PATTERN</Pattern>
        </XPath>
      </XMLPayload>
    </RegularExpressionProtection>
    

    <XPath> एलिमेंट में कोई खाली <Expression> एलिमेंट है, इसलिए एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

रिज़ॉल्यूशन

पक्का करें कि regularExpressionProtection नीतिमें <XPath> एलिमेंट के तहत तय किया गया <Expression> एलिमेंट खाली न हो और मान्य न हो. उदाहरण के लिए:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1">
  <DisplayName>Regular Expression Protection-1</DisplayName>
  <Properties/>
  <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
  <Source>request</Source>
  <XMLPayload>
    <Namespaces>
      <Namespace prefix="apigee">http://www.apigee.com</Namespace>
    </Namespaces>
    <XPath>
      <Expression>/apigee:Greeting/apigee:User</Expression>
      <Type>string</Type>
      <Pattern>REGEX PATTERN</Pattern>
    </XPath>
  </XMLPayload>
</RegularExpressionProtection>

EmptyJSONPathExpression

गड़बड़ी संदेश

इस गड़बड़ी के मैसेज के साथ EDGE यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

Error Saving Revision revision_number
RegularExpressionProtection policy_name: Empty JSONPath expression.

गड़बड़ी के मैसेज का उदाहरण

Error Saving Revision 1
RegularExpressionProtection Regular-Expression-Protection-1: Empty JSONPath expression.

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

खालीJSONPathExpression की गड़बड़ी का टेक्स्ट

वजह

अगर regularExpressionProtection नीति के <JSONPath> एलिमेंट में कोई <Expression> एलिमेंट सेट नहीं है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

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

  1. गड़बड़ी के मैसेज से, रेगुलर एक्सप्रेशन की ऐसी नीति की पहचान करें जो पूरी नहीं हो सकी. उदाहरण के लिए, इस गड़बड़ी में नीति का नाम रेगुलर-एक्सप्रेशन-Protection-1 है:

    Error Saving Revision 1
    RegularExpressionProtection Regular-Expression-Protection-1: Empty JSONPath expression.
    
  2. असफल रेगुलर एक्सप्रेशन सुरक्षा नीति एक्सएमएल में, यह तय करें कि क्या <JSONPath> चाइल्ड एलिमेंट वाला <JSONPayload> एलिमेंट है जिसमें कोई <Expression> एलिमेंट तय नहीं है या <Expression> एलिमेंट को किसी भी वैल्यू पर सेट नहीं किया गया है. अगर ऐसा है, तो यही गड़बड़ी की वजह है.

    उदाहरण के लिए, यहां एक रेगुलर एक्सप्रेशन सुरक्षा नीति दी गई है, जिसमें एक <JSONPayload> एलिमेंट है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1">
          <DisplayName>Regular Expression Protection-1</DisplayName>
          <Properties/>
          <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
          <Source>request</Source>
          <JSONPayload>
            <JSONPath>
              <Expression></Expression>
              <Pattern>REGEX PATTERN</Pattern>
              <Pattern>REGEX PATTERN</Pattern>
            </JSONPath>
          </JSONPayload>
        </RegularExpressionProtection>
    

    <JSONPath> एलिमेंट में कोई खाली <Expression> एलिमेंट है, इसलिए एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

रिज़ॉल्यूशन

पक्का करें कि regularExpressionProtection नीतिमें <JSONPath> एलिमेंट के तहत तय किया गया <Expression> एलिमेंट खाली न हो और मान्य न हो. उदाहरण के लिए:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1">
  <DisplayName>Regular Expression Protection-1</DisplayName>
  <Properties/>
  <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
  <Source>request</Source>
  <JSONPayload>
    <JSONPath>
      <Expression>$.store.book[*].author</Expression>
      <Pattern>REGEX PATTERN</Pattern>
      <Pattern>REGEX PATTERN</Pattern>
    </JSONPath>
  </JSONPayload>
</RegularExpressionProtection>