রেগুলার এক্সপ্রেশন সুরক্ষা নীতি স্থাপনার ত্রুটি সমস্যা সমাধান

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

অবৈধ রেগুলার এক্সপ্রেশন

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

এজ ইউআই বা এজ ম্যানেজমেন্ট এপিআই এর মাধ্যমে এপিআই প্রক্সির স্থাপনা এই ত্রুটি বার্তার সাথে ব্যর্থ হয়:

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.

উদাহরণ ত্রুটি স্ক্রিনশট

InvalidRegularExpression ত্রুটি পাঠ্য

কারণ

যদি RegularExpressionProtection নীতির <Pattern> উপাদানে রেগুলার এক্সপ্রেশনটি বৈধ না হয়, তাহলে API প্রক্সির স্থাপনা ব্যর্থ হয়।

রোগ নির্ণয়

  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. ব্যর্থ রেগুলার এক্সপ্রেশন সুরক্ষা নীতি XML-এর সমস্ত <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>

XPath কম্পাইলেশন ব্যর্থ হয়েছে

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

এজ ইউআই বা এজ ম্যানেজমেন্ট এপিআই এর মাধ্যমে এপিআই প্রক্সির স্থাপনা এই ত্রুটি বার্তার সাথে ব্যর্থ হয়:

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 নীতিতে ঘোষিত কোনো নামস্থানের অংশ না হয়, তাহলে API প্রক্সির স্থাপনা ব্যর্থ হয়।

আপনি XML নামস্থানে নামস্থান, XPath এবং উপসর্গ সম্পর্কে আরও তথ্য পেতে পারেন এবং কীভাবে তারা XPath এবং XSLT কে প্রভাবিত করে

রোগ নির্ণয়

  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. ব্যর্থ রেগুলার এক্সপ্রেশন সুরক্ষা নীতি XML-এ, Expression এলিমেন্টে সেট করা XPath ত্রুটি বার্তায় চিহ্নিত XPath-এর সাথে মেলে (উপরের ধাপ #1) যাচাই করুন।

    উদাহরণস্বরূপ, নিম্নলিখিত নীতি 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> এর সংকলন ব্যর্থ হয় যার ফলে স্থাপনা ব্যর্থ হয়।

রেজোলিউশন

নিশ্চিত করুন যে সমস্ত নামস্থান <এক্সপ্রেশন> উপাদানগুলির অধীনে <Expression> উপাদানগুলিতে ব্যবহৃত হচ্ছে সেগুলি <XPath> নীতিতে ঘোষণা করা হয়েছে। উপরের উদাহরণটি ঠিক করতে, আপনি 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>

নোডেসেটে কনভার্ট করা যাবে না

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

এজ ইউআই বা এজ ম্যানেজমেন্ট এপিআই এর মাধ্যমে এপিআই প্রক্সির স্থাপনা এই ত্রুটি বার্তার সাথে ব্যর্থ হয়:

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> উপাদানটিকে nodeset হিসাবে সংজ্ঞায়িত করা হয়, কিন্তু অভিব্যক্তিটিকে nodeset-এ রূপান্তর করা যায় না, তাহলে API প্রক্সির স্থাপনা ব্যর্থ হয়।

রোগ নির্ণয়

  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. ব্যর্থ রেগুলার এক্সপ্রেশন সুরক্ষা নীতি XML-এ, যাচাই করুন যে <XPath> উপাদানের <Expression> এলিমেন্টে সেট করা XPath ত্রুটি বার্তায় চিহ্নিত XPath এর সাথে মেলে (উপরের ধাপ #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 হয়, তাহলে এটি ত্রুটির কারণ।

    এই উদাহরণে, 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>

JSONPath কম্পাইলেশন ব্যর্থ হয়েছে

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

এজ ইউআই বা এজ ম্যানেজমেন্ট এপিআই এর মাধ্যমে এপিআই প্রক্সির স্থাপনা এই ত্রুটি বার্তার সাথে ব্যর্থ হয়:

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.

উদাহরণ ত্রুটি স্ক্রিনশট

JSONPathCompilation ব্যর্থ ত্রুটি পাঠ্য

কারণ

যদি রেগুলার এক্সপ্রেশন সুরক্ষা নীতির <JSONPath> উপাদানের অধীনে <Expression> উপাদানটি একটি অবৈধ JSONPath এক্সপ্রেশনে সেট করা থাকে, তাহলে API প্রক্সির স্থাপনা ব্যর্থ হয়।

রোগ নির্ণয়

  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. ব্যর্থ রেগুলার এক্সপ্রেশন প্রোটেকশন পলিসি XML-এ, 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 পাথ এক্সপ্রেশনটি অবৈধ, তাই API প্রক্সির স্থাপনা ব্যর্থ হয়।

রেজোলিউশন

নিশ্চিত করুন যে রেগুলার এক্সপ্রেশন সুরক্ষা নীতিতে <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>

এনফোর্স করার জন্য কিছুই নয়

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

এজ ইউআই বা এজ ম্যানেজমেন্ট এপিআই এর মাধ্যমে এপিআই প্রক্সির স্থাপনা এই ত্রুটি বার্তার সাথে ব্যর্থ হয়:

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> উপাদানগুলির কোনোটি না থাকে, তাহলে API প্রক্সির স্থাপনা ব্যর্থ হয়।

ত্রুটি বার্তায় নির্দেশিত হিসাবে, 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>
    

    যেহেতু বাধ্যতামূলক উপাদানগুলির কোনোটিই Extract ভেরিয়েবল নীতিতে উপস্থিত নেই, তাই API প্রক্সির স্থাপনা ব্যর্থ হয়।

রেজোলিউশন

নিশ্চিত করুন যে 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>

কোন প্যাটার্নস টোএনফোর্স

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

এজ ইউআই বা এজ ম্যানেজমেন্ট এপিআই এর মাধ্যমে এপিআই প্রক্সির স্থাপনা এই ত্রুটি বার্তার সাথে ব্যর্থ হয়:

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.

উদাহরণ ত্রুটি স্ক্রিনশট

কোন প্যাটার্নস টোএনফোর্স ত্রুটি পাঠ্য

কারণ

যদি কোনো শীর্ষ স্তরের উপাদানের ( <URIPath> , <QueryParam> , <Header> , <FormParam> , <XMLPayload> , বা <JSONPayload> ) RegularExpressionProtection নীতিতে <Pattern> উপাদান সংজ্ঞায়িত না থাকে, তাহলে স্থাপনা API প্রক্সি ব্যর্থ হয়.

রোগ নির্ণয়

  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> উপাদান নেই, তাই API প্রক্সির স্থাপনা ব্যর্থ হয়।

রেজোলিউশন

নিশ্চিত করুন যে কোনো উপাদান <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

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

এজ ইউআই বা এজ ম্যানেজমেন্ট এপিআই এর মাধ্যমে এপিআই প্রক্সির স্থাপনা এই ত্রুটি বার্তার সাথে ব্যর্থ হয়:

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.

উদাহরণ ত্রুটি স্ক্রিনশট

NONEmptyPrefixMappedToEmptyURI ত্রুটি পাঠ্য

কারণ

এই ত্রুটিটি ঘটে যদি RegularExpressionProtection নীতির <XMLPayload> উপাদানের অধীনে <Namespace> উপাদানে একটি উপসর্গ সংজ্ঞায়িত করা থাকে, কিন্তু কোনো URI সংজ্ঞায়িত করা না থাকে।

রোগ নির্ণয়

  1. RegularExpressionProtection নীতি সনাক্ত করুন যেখানে ত্রুটি ঘটেছে এবং উপসর্গের নাম যা URI-তে ম্যাপ করা হয়নি। আপনি ত্রুটি বার্তা এই আইটেম দুটি খুঁজে পেতে পারেন.

    উদাহরণস্বরূপ, নিম্নলিখিত ত্রুটিতে, নীতির নাম রেগুলার এক্সপ্রেশন সুরক্ষা-1 এবং উপসর্গটি হল এপিজি:

    RegularExpressionProtection Regular-Expression-Protection-1: Non-empty prefix apigee cannot be mapped to empty uri.
    
  2. ব্যর্থ রেগুলার এক্সপ্রেশন সুরক্ষা নীতি XML-এ, যাচাই করুন যে <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> উপাদানটির একটি বৈধ URI থাকলে যাচাই করুন। যদি ইউআরআই অনুপস্থিত থাকে, তবে এটি ত্রুটির কারণ।

    উপরে দেখানো রেগুলার এক্সপ্রেশন সুরক্ষা নীতির উদাহরণে, লক্ষ্য করুন যে উপসর্গ apigee সহ <Namespace> উপাদানের সাথে সংশ্লিষ্ট কোনো URI নেই; অতএব, আপনি ত্রুটি পান:

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

রেজোলিউশন

নিশ্চিত করুন যে সমস্ত <Namespace> উপাদানগুলির একটি প্রিফিক্স সহ সংজ্ঞায়িত করা হয়েছে এক্সট্র্যাক্ট ভেরিয়েবল নীতিতে একটি সংশ্লিষ্ট URI আছে। যেমন:

<?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>

সদৃশ উপসর্গ

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

এজ ইউআই বা এজ ম্যানেজমেন্ট এপিআই এর মাধ্যমে এপিআই প্রক্সির স্থাপনা এই ত্রুটি বার্তার সাথে ব্যর্থ হয়:

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> এলিমেন্টে একই উপসর্গ একাধিকবার সংজ্ঞায়িত থাকলে এই ত্রুটি ঘটে।

উদাহরণস্বরূপ, এই ত্রুটিটি ঘটে কারণ উপসর্গ এপিজিকে নীচে দেখানো হিসাবে দুবার সংজ্ঞায়িত করা হয়েছে:

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

রোগ নির্ণয়

  1. RegularExpressionProtection নীতি সনাক্ত করুন যেখানে ত্রুটি ঘটেছে এবং উপসর্গের নাম। আপনি ত্রুটি বার্তা এই আইটেম দুটি খুঁজে পেতে পারেন.

    উদাহরণস্বরূপ, নিম্নলিখিত ত্রুটিতে, নীতির নাম রেগুলার এক্সপ্রেশন সুরক্ষা-1 এবং উপসর্গটি হল এপিজি:

    RegularExpressionProtection Regular-Expression-Protection-1: Duplicate prefix apigee.
    
  2. ব্যর্থ রেগুলার এক্সপ্রেশন সুরক্ষা নীতি XML-এ, যাচাই করুন যে <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. নির্ণয় করুন যে নির্দিষ্ট উপসর্গ সহ <Namespace> উপাদান, ধাপ #2 এ চিহ্নিত করা হয়েছে একাধিকবার সংজ্ঞায়িত করা হয়েছে। যদি এটি একাধিকবার সংজ্ঞায়িত করা হয়, তবে এটি ত্রুটির কারণ।

    উপরে দেখানো রেগুলার এক্সপ্রেশন সুরক্ষা নীতির উদাহরণে, লক্ষ্য করুন যে প্রিফিক্স এপিজি সহ <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

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

এজ ইউআই বা এজ ম্যানেজমেন্ট এপিআই এর মাধ্যমে এপিআই প্রক্সির স্থাপনা এই ত্রুটি বার্তার সাথে ব্যর্থ হয়:

Error Saving Revision revision_number
RegularExpressionProtection policy_name: Empty XPath expression.

উদাহরণ ত্রুটি বার্তা

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

উদাহরণ ত্রুটি স্ক্রিনশট

EmptyXPathExpression ত্রুটি পাঠ্য

কারণ

যদি RegularExpressionProtection নীতিতে <XPath> উপাদানের মধ্যে কোনো <Expression> উপাদান সেট না থাকে, তাহলে API প্রক্সির স্থাপনা ব্যর্থ হয়।

রোগ নির্ণয়

  1. ত্রুটি বার্তা থেকে ব্যর্থ নিয়মিত অভিব্যক্তি সুরক্ষা নীতি সনাক্ত করুন৷ উদাহরণস্বরূপ, নিম্নলিখিত ত্রুটিতে, নীতির নাম রেগুলার-এক্সপ্রেশন-প্রটেকশন-1:

    RegularExpressionProtection Regular-Expression-Protection-1: Empty XPath expression.
    
  2. ব্যর্থ রেগুলার এক্সপ্রেশন প্রোটেকশন পলিসি XML-এ, <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> উপাদান রয়েছে, তাই API প্রক্সির স্থাপনা ব্যর্থ হয়।

রেজোলিউশন

নিশ্চিত করুন যে 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

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

এজ ইউআই বা এজ ম্যানেজমেন্ট এপিআই এর মাধ্যমে এপিআই প্রক্সির স্থাপনা এই ত্রুটি বার্তার সাথে ব্যর্থ হয়:

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> উপাদান সেট না থাকে, তাহলে API প্রক্সির স্থাপনা ব্যর্থ হয়।

রোগ নির্ণয়

  1. ত্রুটি বার্তা থেকে ব্যর্থ নিয়মিত অভিব্যক্তি সুরক্ষা নীতি সনাক্ত করুন৷ উদাহরণস্বরূপ, নিম্নলিখিত ত্রুটিতে, নীতির নাম রেগুলার-এক্সপ্রেশন-প্রটেকশন-1:

    Error Saving Revision 1
    RegularExpressionProtection Regular-Expression-Protection-1: Empty JSONPath expression.
    
  2. ব্যর্থ রেগুলার এক্সপ্রেশন প্রোটেকশন পলিসি XML-এ, <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> উপাদান রয়েছে, তাই API প্রক্সির স্থাপনা ব্যর্থ হয়।

রেজোলিউশন

নিশ্চিত করুন যে RegularExpressionProtection নীতিতে একটি অ-খালি এবং বৈধ <Expression> উপাদান রয়েছে যা <JSONPath> উপাদানের অধীনে সংজ্ঞায়িত করা হয়েছে। যেমন:

<?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>