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

आपको 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. गड़बड़ी के मैसेज से regular ExpressionProtection नीति का नाम पहचानें. उदाहरण के लिए, नीचे दी गई गड़बड़ी में, 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> में दिए गए रेगुलर एक्सप्रेशन में ओपनिंग ब्रैकेट मौजूद नहीं हैं. इसलिए, इसे अमान्य रेगुलर एक्सप्रेशन माना जाता है. इसलिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

रिज़ॉल्यूशन

पक्का करें कि रेगुलरएक्सप्रेशन सुरक्षा नीति के हर <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.

गड़बड़ी का स्क्रीनशॉट

CNAMECompilationFailed गड़बड़ी टेक्स्ट

वजह

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

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

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

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

    उदाहरण के लिए, इस गड़बड़ी में , नीति का नाम Regular-Expression-Protection-1 है और एक्स पाथ एक्सप्रेशन /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 एलिमेंट में सेट किया गया X पाथ, गड़बड़ी के मैसेज में बताए गए एसएएमएल से मेल खाता है (ऊपर दिया गया चरण #1).

    उदाहरण के लिए, नीचे दी गई नीति बताएं कि यह /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. रेगुलरexpressionProtection नीति में मौजूद <Namespaces> और <Expression> एलिमेंट की जांच करें. अगर गड़बड़ी के मैसेज में बताए गए खास <Expression> में किसी ऐसे प्रीफ़िक्स या वैल्यू का इस्तेमाल किया जाता है जो रेगुलरएक्सप्रेशन प्रोटेक्शन नीति में बताए गए नेमस्पेस का हिस्सा नहीं है, तो गड़बड़ी की वजह यही है.

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

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

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

रिज़ॉल्यूशन

पक्का करें कि <XPath> एलिमेंट के अंदर, <Expression> एलिमेंट में इस्तेमाल किए जा रहे सभी नेमस्पेस के बारे में, रेगुलरएक्सप्रेशन प्रोटेक्शन नीति में जानकारी दी गई है. ऊपर दिए गए उदाहरण को ठीक करने के लिए, 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.

गड़बड़ी का स्क्रीनशॉट

नहीं किया जा सकता BeConvertToNodeset गड़बड़ी का टेक्स्ट

वजह

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

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

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

    उदाहरण के लिए, इस गड़बड़ी में , नीति का नाम Regular-Expression-Protection-1 है और एक्स पाथ एक्सप्रेशन 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> एलिमेंट में सेट किया गया X पाथ, गड़बड़ी के मैसेज में बताए गए एसएएमएल से मेल खाता है (ऊपर दिया गया चरण #1).

    उदाहरण के लिए, यह नीति 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 है, तो यह गड़बड़ी की वजह है.

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

रिज़ॉल्यूशन

अगर <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.

गड़बड़ी का स्क्रीनशॉट

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

वजह

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

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

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

    उदाहरण के लिए, इस गड़बड़ी में , नीति का नाम 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, गड़बड़ी के मैसेज में पहचाने गए JSONPath से मेल खाता है (ऊपर दिया गया चरण #1).

    उदाहरण के लिए, यह नीति <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.

गड़बड़ी का स्क्रीनशॉट

NothingToलागू करने से जुड़ी गड़बड़ी का टेक्स्ट

वजह

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

जैसा कि गड़बड़ी के मैसेज में बताया गया है, रेगुलरएक्सप्रेशन प्रोटेक्शन नीति में इनमें से कम से कम एक एलिमेंट शामिल होना चाहिए: <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.

गड़बड़ी का स्क्रीनशॉट

NoPatternsToलागू गड़बड़ी टेक्स्ट

वजह

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

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

  1. गड़बड़ी होने पर regular ExpressionProtection नीति के नाम की पहचान करें. साथ ही, उस चाइल्ड एलिमेंट की भी पहचान करें जिसमें <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>

NONEmptyPrefixMappedToEmptyURI

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

गड़बड़ी के इस मैसेज के साथ, 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.

गड़बड़ी का स्क्रीनशॉट

NONBLANKPreFixMappedToEmpty रीडायरेक्ट गड़बड़ी वाला टेक्स्ट

वजह

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

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

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

    उदाहरण के लिए, नीचे दी गई गड़बड़ी में, नीति का नाम रेगुलर एक्सप्रेशन प्रोटेक्शन-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 नीति के वही प्रीफ़िक्स को <Namespace> एलिमेंट में एक से ज़्यादा बार तय किया गया हो जो <XMLPayload> एलिमेंट के अंदर होता है.

उदाहरण के लिए, यह गड़बड़ी तब होती है, जब प्रीफ़िक्स 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.

गड़बड़ी का स्क्रीनशॉट

फीटएक्सपाथएक्सप्रेशन की गड़बड़ी का टेक्स्ट

वजह

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

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

  1. गड़बड़ी के मैसेज से, रेगुलर एक्सप्रेशन की सुरक्षा से जुड़ी उस नीति की पहचान करें जो पूरी नहीं हो सकी. उदाहरण के लिए, यहां दी गई गड़बड़ी में नीति का नाम regular-expression-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> एलिमेंट है. इसलिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

रिज़ॉल्यूशन

पक्का करें कि रेगुलरएक्सप्रेशन प्रोटेक्शन नीति में <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.

गड़बड़ी का स्क्रीनशॉट

EmptyJSONPathExpression गड़बड़ी टेक्स्ट

वजह

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

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

  1. गड़बड़ी के मैसेज से, रेगुलर एक्सप्रेशन की सुरक्षा से जुड़ी ऐसी नीति की पहचान करें जो पूरी नहीं हो सकी. उदाहरण के लिए, यहां दी गई गड़बड़ी में नीति का नाम regular-expression-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>