আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন .info- তে যান।
অবৈধ নিয়মিত অভিব্যক্তি
ত্রুটি বার্তা
Edge UI অথবা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি স্থাপন করতে গেলে এই ত্রুটি বার্তাটি দেখা দেয়:
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> এলিমেন্টের রেগুলার এক্সপ্রেশনটি বৈধ না হলে, API Proxy-এর ডেপ্লয়মেন্ট ব্যর্থ হয়।
রোগ নির্ণয়
এরর মেসেজ থেকে 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.
ব্যর্থ হওয়া রেগুলার এক্সপ্রেশন প্রোটেকশন পলিসি XML-এর সমস্ত
<Pattern>এলিমেন্ট পরীক্ষা করুন। যাচাই করুন যে<Pattern>এলিমেন্টগুলোর কোনোটিতে অবৈধ রেগুলার এক্সপ্রেশন আছে কিনা। যদি<Pattern>এলিমেন্টগুলোর কোনোটিতে অবৈধ রেগুলার এক্সপ্রেশন থাকে, তাহলে সেটিই ত্রুটির কারণ।উদাহরণস্বরূপ, নিম্নলিখিত পলিসিটি
Pattern>offoo){2}এর মান নির্দিষ্ট করে, যা একটি অবৈধ রেগুলার এক্সপ্রেশন হিসেবে বিবেচিত হয়:<?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>এ নির্দিষ্ট করা রেগুলার এক্সপ্রেশনটিতে একটি প্রথম বন্ধনী নেই। তাই এটিকে একটি অবৈধ রেগুলার এক্সপ্রেশন হিসেবে গণ্য করা হয়। ফলে এপিআই প্রক্সির ডেপ্লয়মেন্ট ব্যর্থ হয়।
সমাধান
নিশ্চিত করুন যে RegularExpressionProtection পলিসির প্রতিটি <Pattern> এলিমেন্টে একটি বৈধ রেগুলার এক্সপ্রেশন রয়েছে। আপনার রেগুলার এক্সপ্রেশন ডিবাগ করার জন্য আপনি বিভিন্ন অনলাইন বা অফলাইন রেজেক্স টুল খুঁজে দেখতে পারেন। উপরে দেখানো উদাহরণ Regular Expression Protection পলিসিটি সংশোধন করতে, অনুপস্থিত বন্ধনীগুলো যোগ করুন:
<?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>এক্সপাথ কম্পাইলেশন ব্যর্থ হয়েছে
ত্রুটি বার্তা
Edge UI অথবা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি স্থাপন করতে গেলে এই ত্রুটি বার্তাটি দেখা দেয়:
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.
ত্রুটির স্ক্রিনশটের উদাহরণ

কারণ
যদি <XPath> এলিমেন্টে ব্যবহৃত প্রিফিক্স বা ভ্যালুটি RegularExpressionProtection পলিসিতে ঘোষিত কোনো নেমস্পেসের অংশ না হয়, তাহলে এপিআই প্রক্সির ডেপ্লয়মেন্ট ব্যর্থ হয়।
আপনি XML নেমস্পেস এবং কীভাবে তারা XPath ও XSLT-কে প্রভাবিত করে (XML Namespaces and How They Affect XPath and XSLT) -এ নেমস্পেস, XPath এবং প্রিফিক্স সম্পর্কে আরও তথ্য পেতে পারেন।
রোগ নির্ণয়
যে RegularExpressionProtection পলিসিতে ত্রুটিটি ঘটেছে তার নাম এবং ব্যবহৃত XPath Expression-টি শনাক্ত করুন। আপনি এই দুটি বিষয়ই ত্রুটির বার্তায় খুঁজে পাবেন।
উদাহরণস্বরূপ, নিম্নলিখিত ত্রুটিতে, পলিসির নাম হল
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.
ব্যর্থ হওয়া রেগুলার এক্সপ্রেশন প্রোটেকশন পলিসি XML-এ, যাচাই করুন যে
Expressionএলিমেন্টে সেট করা XPath-টি এরর মেসেজে (উপরের ধাপ #১) চিহ্নিত 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>
- RegularExpressionProtection পলিসির
<Namespaces>এবং<Expression>এলিমেন্টগুলো পরীক্ষা করুন। যদি এরর মেসেজে উল্লেখিত নির্দিষ্ট<Expression>এমন কোনো প্রিফিক্স বা ভ্যালু ব্যবহার করে যা RegularExpressionProtection পলিসিতে ঘোষিত নেমস্পেসগুলোর অংশ নয়, তাহলে সেটিই এররের কারণ।লক্ষ্য করুন যে উদাহরণ RegularExpressionProtection পলিসিতে নির্দিষ্ট
<XPath>-এnotapigeeপ্রিফিক্সটি ব্যবহৃত হয়েছে:<Expression>/notapigee:foo/notapigee:bar</Expression>
তবে,
<Namespace>এলিমেন্টগুলোর কোনোটিতেইnotapigeeপ্রিফিক্সটি সংজ্ঞায়িত করা নেই; ফলে,<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>
নোডসেটে রূপান্তর করা যাবে না
ত্রুটি বার্তা
Edge UI অথবা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি স্থাপন করতে গেলে এই ত্রুটি বার্তাটি দেখা দেয়:
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> এলিমেন্টটি নোডসেট হিসেবে সংজ্ঞায়িত করা আছে, কিন্তু এক্সপ্রেশনটিকে নোডসেটে রূপান্তর করা সম্ভব না হয়, তাহলে এপিআই প্রক্সির ডেপ্লয়মেন্ট ব্যর্থ হয়।
রোগ নির্ণয়
যে RegularExpressionProtection পলিসিতে ত্রুটিটি ঘটেছে এবং যে XPath Expression-টিকে নোডসেটে রূপান্তর করা যাচ্ছে না, তা শনাক্ত করুন। আপনি এই দুটি বিষয়ই ত্রুটির বার্তায় খুঁজে পাবেন।
উদাহরণস্বরূপ, নিম্নলিখিত ত্রুটিতে, পলিসির নাম হল
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.
ব্যর্থ হওয়া রেগুলার এক্সপ্রেশন প্রোটেকশন পলিসি XML-এ, যাচাই করুন যে
<XPath>এলিমেন্টের<Expression>এলিমেন্টে সেট করা XPath-টি এরর মেসেজে (উপরের ধাপ #১) চিহ্নিত XPath-এর সাথে মেলে কিনা।উদাহরণস্বরূপ, নিম্নলিখিত পলিসিটি as
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>
<XPath>এলিমেন্টের নিচে থাকা<Type>এলিমেন্টে সেট করা মানটি পরীক্ষা করুন। যদি<Type>এলিমেন্টটিnodesetহয়, তাহলে সেটাই ত্রুটির কারণ।এই উদাহরণে, XPath এক্সপ্রেশনটি হলো count() , যা এক বা একাধিক নোড রিটার্ন করে না। ফলে, API প্রক্সির ডেপ্লয়মেন্ট ব্যর্থ হয়।
সমাধান
যদি <Type> এলিমেন্টটি `nodeset` হিসেবে সেট করা থাকে, তাহলে নিশ্চিত করুন যে <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 UI অথবা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি স্থাপন করতে গেলে এই ত্রুটি বার্তাটি দেখা দেয়:
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.
ত্রুটির স্ক্রিনশটের উদাহরণ

কারণ
যদি কোনো রেগুলার এক্সপ্রেশন প্রোটেকশন পলিসির <JSONPath> এলিমেন্টের অধীনে থাকা <Expression> এলিমেন্টটিকে একটি অবৈধ JSONPath এক্সপ্রেশনে সেট করা হয়, তাহলে এপিআই প্রক্সির ডেপ্লয়মেন্ট ব্যর্থ হয়।
রোগ নির্ণয়
সেই 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.
ব্যর্থ হওয়া রেগুলার এক্সপ্রেশন প্রোটেকশন পলিসি XML-এ, যাচাই করুন যে
Expressionএলিমেন্টে সেট করা JSONPath-টি এরর মেসেজে (উপরের ধাপ #১) উল্লেখিত 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>
পলিসির
<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>
বলবৎ করার কিছুই নেই
ত্রুটি বার্তা
Edge UI অথবা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি স্থাপন করতে গেলে এই ত্রুটি বার্তাটি দেখা দেয়:
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.
ত্রুটির স্ক্রিনশটের উদাহরণ

কারণ
যদি RegularExpressionProtection পলিসিতে <URIPath> , <QueryParam> , <Header> , <FormParam> , <XMLPayload> , বা <JSONPayload> উপাদানগুলোর কোনোটি না থাকে, তাহলে API Proxy-এর ডেপ্লয়মেন্ট ব্যর্থ হয়।
এরর মেসেজে যেমন উল্লেখ করা হয়েছে, RegularExpressionProtection পলিসিতে অবশ্যই নিম্নলিখিত উপাদানগুলোর মধ্যে অন্তত একটি অন্তর্ভুক্ত থাকতে হবে: <URIPath> , <QueryParam> , <Header> , <FormParam> , <XMLPayload> , অথবা <JSONPayload> ।
রোগ নির্ণয়
যে RegularExpressionProtection পলিসিতে ত্রুটিটি ঘটেছে, তার নামটি শনাক্ত করুন। আপনি এটি ত্রুটির বার্তায় খুঁজে পাবেন। উদাহরণস্বরূপ, নিম্নলিখিত ত্রুটিতে, পলিসির নাম হলো
Regular-Expression-Protection-1:RegularExpressionProtection Regular-Expression-Protection-1: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory.
ব্যর্থ হওয়া রেগুলার এক্সপ্রেশন প্রোটেকশন পলিসিটি (যা উপরে ধাপ #১-এ চিহ্নিত করা হয়েছে) পরীক্ষা করুন। যদি পলিসিটিতে নিম্নলিখিত উপাদানগুলির মধ্যে একটিও না থাকে:
<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 Variables' পলিসিতে কোনো বাধ্যতামূলক উপাদান উপস্থিত নেই, তাই এপিআই প্রক্সির ডেপ্লয়মেন্ট ব্যর্থ হয়।
সমাধান
নিশ্চিত করুন যে 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>
প্রয়োগ করার জন্য কোন প্যাটার্ন নেই
ত্রুটি বার্তা
Edge UI অথবা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি স্থাপন করতে গেলে এই ত্রুটি বার্তাটি দেখা দেয়:
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 প্রক্সির ডেপ্লয়মেন্ট ব্যর্থ হয়।
রোগ নির্ণয়
যে RegularExpressionProtection পলিসিতে ত্রুটিটি ঘটেছে তার নাম এবং যে চাইল্ড এলিমেন্টটিতে
<Pattern>এলিমেন্টটি নেই, সেটি শনাক্ত করুন। আপনি এই দুটি বিষয়ই ত্রুটির বার্তায় খুঁজে পাবেন।উদাহরণস্বরূপ, নিম্নলিখিত ত্রুটিতে, পলিসির নাম হল
Regular-Expression-Protection-1এবং চাইল্ড এলিমেন্টটি হলXPath:RegularExpressionProtection Regular-Expression-Protection-1: No patterns to enforce in XPath.
- ত্রুটিপূর্ণ রেগুলার এক্সপ্রেশন প্রোটেকশন পলিসিটি পরীক্ষা করুন এবং যাচাই করুন যে ধাপ #১-এ চিহ্নিত চাইল্ড এলিমেন্টটিতে
<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 UI অথবা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি স্থাপন করতে গেলে এই ত্রুটি বার্তাটি দেখা দেয়:
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.
ত্রুটির স্ক্রিনশটের উদাহরণ

কারণ
এই ত্রুটিটি ঘটে যদি RegularExpressionProtection পলিসির <XMLPayload> এলিমেন্টের অধীনে <Namespace> এলিমেন্টে একটি প্রিফিক্স সংজ্ঞায়িত করা থাকে, কিন্তু কোনো URI সংজ্ঞায়িত না থাকে।
রোগ নির্ণয়
যে RegularExpressionProtection পলিসিতে ত্রুটিটি ঘটেছে সেটি এবং যে প্রিফিক্সটি URI-এর সাথে ম্যাপ করা নেই তার নামটি শনাক্ত করুন। আপনি এই দুটি বিষয়ই ত্রুটির বার্তায় খুঁজে পাবেন।
উদাহরণস্বরূপ, নিম্নলিখিত ত্রুটিতে, পলিসির নাম হল Regular Expression Protection-1 এবং প্রিফিক্স হল apigee:
RegularExpressionProtection Regular-Expression-Protection-1: Non-empty prefix apigee cannot be mapped to empty uri.
ব্যর্থ হওয়া রেগুলার এক্সপ্রেশন প্রোটেকশন পলিসি XML-এ, যাচাই করুন যে
<XMLPayload>এলিমেন্টের অধীনে থাকা<Namespace>এলিমেন্টে সেট করা প্রিফিক্সের নামটি, এরর মেসেজে (উপরের ধাপ #১) চিহ্নিত প্রিফিক্স নামের সাথে মেলে কিনা।উদাহরণস্বরূপ, নিম্নলিখিত পলিসিটি
<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>
ধাপ #২-এ চিহ্নিত নির্দিষ্ট প্রিফিক্স সহ
<Namespace>এলিমেন্টটির একটি বৈধ URI আছে কিনা তা যাচাই করুন। যদি URI-টি অনুপস্থিত থাকে, তাহলে সেটিই ত্রুটির কারণ।উপরে দেখানো উদাহরণ রেগুলার এক্সপ্রেশন প্রোটেকশন পলিসিতে লক্ষ্য করুন যে, apigee প্রিফিক্স সহ
<Namespace>এলিমেন্টের জন্য কোনো URI নেই; তাই, আপনি এই এররটি পাচ্ছেন:Non-empty prefix apigee cannot be mapped to empty uri.
সমাধান
নিশ্চিত করুন যে প্রিফিক্স সহ সংজ্ঞায়িত সমস্ত <Namespace> এলিমেন্টের Extract Variables পলিসিতে একটি সংশ্লিষ্ট 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>
ডুপ্লিকেটপ্রিফিক্স
ত্রুটি বার্তা
Edge UI অথবা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি স্থাপন করতে গেলে এই ত্রুটি বার্তাটি দেখা দেয়:
Error Saving Revision revision_number RegularExpressionProtection policy_name: Duplicate prefix prefix_name.
ত্রুটির বার্তার উদাহরণ
Error Saving Revision 1 RegularExpressionProtection Regular-Expression-Protection-1: Duplicate prefix apigee.
ত্রুটির স্ক্রিনশটের উদাহরণ

কারণ
<XMLPayload> এলিমেন্টের অধীনে থাকা <Namespace> এলিমেন্টে RegularExpressionProtection পলিসিতে একই প্রিফিক্স একাধিকবার সংজ্ঞায়িত করা থাকলে এই ত্রুটিটি ঘটে।
উদাহরণস্বরূপ, এই ত্রুটিটি ঘটে কারণ 'apigee' উপসর্গটি নীচে দেখানো অনুযায়ী দুইবার সংজ্ঞায়িত করা হয়েছে:
<Namespace prefix="apigee">http://www.apigee.com</Namespace> <Namespace prefix="apigee">http://www.apigee.com</Namespace>
রোগ নির্ণয়
যে RegularExpressionProtection পলিসিতে ত্রুটিটি ঘটেছে সেটি এবং প্রিফিক্সটির নাম শনাক্ত করুন। আপনি এই দুটি বিষয়ই ত্রুটির বার্তায় খুঁজে পাবেন।
উদাহরণস্বরূপ, নিম্নলিখিত ত্রুটিতে, পলিসির নাম হল Regular Expression Protection-1 এবং প্রিফিক্স হল apigee:
RegularExpressionProtection Regular-Expression-Protection-1: Duplicate prefix apigee.
ব্যর্থ হওয়া রেগুলার এক্সপ্রেশন প্রোটেকশন পলিসি XML-এ, যাচাই করুন যে
<XMLPayload>এলিমেন্টের অধীনে থাকা<Namespace>এলিমেন্টে সেট করা প্রিফিক্সের নামটি, এরর মেসেজে (উপরের ধাপ #১) চিহ্নিত প্রিফিক্স নামের সাথে মেলে কিনা।উদাহরণস্বরূপ, নিম্নলিখিত পলিসিটি
<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>
ধাপ #২-এ চিহ্নিত নির্দিষ্ট প্রিফিক্স সহ
<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>
খালিXPathExpression
ত্রুটি বার্তা
Edge UI অথবা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি স্থাপন করতে গেলে এই ত্রুটি বার্তাটি দেখা দেয়:
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> এলিমেন্ট সেট করা না থাকে, তাহলে API প্রক্সির ডেপ্লয়মেন্ট ব্যর্থ হয়।
রোগ নির্ণয়
এরর মেসেজ থেকে ব্যর্থ হওয়া রেগুলার এক্সপ্রেশন প্রোটেকশন পলিসিটি শনাক্ত করুন। উদাহরণস্বরূপ, নিচের এররটিতে পলিসির নাম হলো Regular-Expression-Protection-1:
RegularExpressionProtection Regular-Expression-Protection-1: Empty XPath expression.
ব্যর্থ হওয়া রেগুলার এক্সপ্রেশন প্রোটেকশন পলিসি XML-এ, খুঁজে দেখুন সেখানে এমন কোনো
<XMLPayload>এলিমেন্ট আছে কি না যার<XPath>চাইল্ড এলিমেন্টের ভেতরে কোনো<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>
খালিJSONPathExpression
ত্রুটি বার্তা
Edge UI অথবা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি স্থাপন করতে গেলে এই ত্রুটি বার্তাটি দেখা দেয়:
Error Saving Revision revision_number RegularExpressionProtection policy_name: Empty JSONPath expression.
ত্রুটির বার্তার উদাহরণ
Error Saving Revision 1 RegularExpressionProtection Regular-Expression-Protection-1: Empty JSONPath expression.
ত্রুটির স্ক্রিনশটের উদাহরণ

কারণ
যদি RegularExpressionProtection পলিসির <JSONPath> এলিমেন্টের মধ্যে <Expression> এলিমেন্ট সেট করা না থাকে, তাহলে API প্রক্সির ডেপ্লয়মেন্ট ব্যর্থ হয়।
রোগ নির্ণয়
এরর মেসেজ থেকে ব্যর্থ হওয়া রেগুলার এক্সপ্রেশন প্রোটেকশন পলিসিটি শনাক্ত করুন। উদাহরণস্বরূপ, নিচের এররটিতে পলিসির নাম হলো Regular-Expression-Protection-1:
Error Saving Revision 1 RegularExpressionProtection Regular-Expression-Protection-1: Empty JSONPath expression.
ব্যর্থ হওয়া রেগুলার এক্সপ্রেশন প্রোটেকশন পলিসি XML-এ, খুঁজে দেখুন সেখানে
<JSONPayload>এলিমেন্টের ভেতরে<JSONPath>চাইল্ড এলিমেন্ট আছে কি না, যার মধ্যে কোনো<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>