আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন। তথ্য
AccessControl নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ | এর সমাধান করুন |
|---|---|---|---|
accesscontrol.IPDeniedAccess |
403 | ক্লায়েন্ট IP অ্যাড্রেস অথবা API অনুরোধে পাস করা IP অ্যাড্রেস
অ্যাক্সেস কন্ট্রোল নীতির <MatchRule> এলিমেন্টের মধ্যে নির্দিষ্ট করা <SourceAddress> এলিমেন্টের
সাথে ম্যাচ করে এবং <MatchRule> এলিমেন্টের action অ্যাট্রিবিউট DENY হিসেবে সেট করা থাকে। |
build |
ফল্ট ভেরিয়েবল
রানটাইম এরর হলে এই ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার জন্য নির্দিষ্ট ভেরিয়েবল দেখুন।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল সমস্যার নাম, যা উপরে দেওয়া রানটাইম সংক্রান্ত সমস্যা সারণীতে তালিকাভুক্ত করা আছে। ফল্ট কোডের শেষ অংশটি হল ফল্টের নাম। | fault.name Matches "IPDeniedAccess" |
acl.policy_name.failed |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | acl.AC-AllowAccess.failed = true |
ভুল উত্তরের উদাহরণ
{
"fault":{
"faultstring":"Access Denied for client ip : 52.211.243.3"
"detail":{
"errorcode":"accesscontrol.IPDeniedAccess"
}
}
}ভুল নিয়মের উদাহরণ
<FaultRule name="IPDeniedAccess">
<Step>
<Name>AM-IPDeniedAccess</Name>
<Condition>(fault.name Matches "IPDeniedAccess") </Condition>
</Step>
<Condition>(acl.failed = true) </Condition>
</FaultRule>AccessEntity নীতি
সম্পর্কিত তথ্যের জন্য, নীতি ত্রুটি এবং হ্যান্ডলিং ফল্ট সম্পর্কে আপনার কী জানা দরকার তা দেখুন৷
রানটাইম ত্রুটি
কোনোটিই নয়।
স্থাপনার ত্রুটি
| ত্রুটির নাম | ফল্ট স্ট্রিং | HTTP স্থিতি | ঘটে যখন |
|---|---|---|---|
InvalidEntityType | Invalid type [entity_type] in ACCESSENTITYStepDefinition [policy_name] | N/A | ব্যবহৃত সত্তা টাইপ সমর্থিত প্রকারগুলির মধ্যে একটি হতে হবে৷ |
AssignMessage নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ | এর সমাধান করুন |
|---|---|---|---|
steps.assignmessage.SetVariableFailed |
500 | নীতিটি কোনও ভেরিয়েবল সেট করতে পারেনি। সমাধান না হওয়া ভেরিয়েবলের নামের জন্য ফল্ট স্ট্রিং দেখুন। | |
steps.assignmessage.VariableOfNonMsgType |
500 |
মেসেজ টাইপ ভেরিয়েবল সম্পূর্ণ HTTP অনুরোধ ও উত্তরকে উপস্থাপন করে। বিল্ট-ইন Edge
ফ্লো ভেরিয়েবল |
build |
steps.assignmessage.UnresolvedVariable |
500 |
Assign Message নীতিতে উল্লেখ করা কোনও ভেরিয়েবল যদি:
|
build |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | কারণ | এর সমাধান করুন |
|---|---|---|
InvalidIndex |
Assign Message
নীতির <Copy> এবং/অথবা <Remove> এলিমেন্টে নির্দিষ্ট করা ইন্ডেক্স ০ বা নেগেটিভ সংখ্যা হলে, API প্রক্সি ডেপ্লয় করা যায় না।
|
build |
InvalidVariableName |
চাইল্ড এলিমেন্ট <Name> খালি থাকলে বা <AssignVariable> এলিমেন্টে উল্লেখ করা না থাকলে,
API প্রক্সি ডেপ্লয় করা যায় না, কারণ কোনও সঠিক ভেরিয়েবল নাম নেই
যেখানে কোনও ভ্যালু অ্যাসাইন করা যায়। ভেরিয়েবলের সঠিক নাম লিখতে হবে।
|
build |
InvalidPayload |
নীতিতে উল্লেখ করা পেলোড সঠিক নয়। |
ফল্ট ভেরিয়েবল
এই নীতি রানটাইমে কোনও সমস্যা ট্রিগার করলে, এইসব ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল সমস্যার নাম, যা উপরে দেওয়া রানটাইম সংক্রান্ত সমস্যা সারণীতে তালিকাভুক্ত করা আছে। ফল্ট কোডের শেষ অংশটি হল ফল্টের নাম। | fault.name Matches "UnresolvedVariable" |
assignmessage.policy_name.failed |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | assignmessage.AM-SetResponse.failed = true |
সমস্যার উত্তরের উদাহরণ
{ "fault":{ "detail":{ "errorcode":"steps.assignmessage.VariableOfNonMsgType" }, "faultstring":"AssignMessage[AM-SetResponse]: value of variable is not of type Message" } }
ভুল নিয়মের উদাহরণ
<FaultRule name="Assign Message Faults"> <Step> <Name>AM-CustomNonMessageTypeErrorResponse</Name> <Condition>(fault.name Matches "VariableOfNonMsgType") </Condition> </Step> <Step> <Name>AM-CustomSetVariableErrorResponse</Name> <Condition>(fault.name = "SetVariableFailed")</Condition> </Step> <Condition>(assignmessage.failed = true) </Condition> </FaultRule>
BasicAuthentication নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল তৈরি করেন, তাহলে এই তথ্য আপনার জানা প্রয়োজন। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ | এর সমাধান করুন |
|---|---|---|---|
steps.basicauthentication.InvalidBasicAuthenticationSource |
500 | ডিকোড করার সময়, ইনকামিং Base64 এনকোড করা স্ট্রিংয়ে সঠিক ভ্যালু না থাকলে অথবা হেডার ভুল ফর্ম্যাটে থাকলে (যেমন, "Basic" দিয়ে শুরু না হলে)। | build |
steps.basicauthentication.UnresolvedVariable |
500 | ডিকোড বা এনকোড করার জন্য প্রয়োজনীয় সোর্স ভেরিয়েবল নেই। এই সমস্যাটি
শুধুমাত্র IgnoreUnresolvedVariables মিথ্যা হলে তবেই হতে পারে। |
build |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | এটি তখন ঘটে যখন | এর সমাধান করুন |
|---|---|---|
UserNameRequired |
নামযুক্ত অপারেশনের জন্য <User> এলিমেন্ট অবশ্যই থাকতে হবে। |
build |
PasswordRequired |
নামযুক্ত অপারেশনের জন্য <Password> এলিমেন্ট অবশ্যই থাকতে হবে। |
build |
AssignToRequired |
নামযুক্ত অপারেশনের জন্য <AssignTo> এলিমেন্ট অবশ্যই থাকতে হবে। |
build |
SourceRequired |
নামযুক্ত অপারেশনের জন্য <Source> এলিমেন্ট অবশ্যই থাকতে হবে। |
build |
ফল্ট ভেরিয়েবল
রানটাইম এরর হলে এই ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল সমস্যার নাম, যা উপরে দেওয়া রানটাইম সংক্রান্ত সমস্যা সারণীতে তালিকাভুক্ত করা আছে। ফল্ট কোডের শেষ অংশটি হল ফল্টের নাম। | fault.name Matches "UnresolvedVariable" |
BasicAuthentication.policy_name.failed |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | BasicAuthentication.BA-Authenticate.failed = true |
সমস্যার উত্তরের উদাহরণ
{ "fault":{ "detail":{ "errorcode":"steps.basicauthentication.UnresolvedVariable" }, "faultstring":"Unresolved variable : request.queryparam.password" } }
ভুল নিয়মের উদাহরণ
<FaultRule name="Basic Authentication Faults">
<Step>
<Name>AM-UnresolvedVariable</Name>
<Condition>(fault.name Matches "UnresolvedVariable") </Condition>
</Step>
<Step>
<Name>AM-AuthFailedResponse</Name>
<Condition>(fault.name = "InvalidBasicAuthenticationSource")</Condition>
</Step>
<Condition>(BasicAuthentication.BA-Authentication.failed = true) </Condition>
</FaultRule>ConcurrentRateLimit নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল তৈরি করেন, তাহলে এই তথ্য আপনার জানা প্রয়োজন। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | এটি তখন ঘটে যখন |
|---|---|---|
policies.concurrentratelimit.ConcurrentRatelimtViolation |
503 |
ConcurrentRatelimit কানেকশন সর্বাধিক সীমা ছাড়িয়ে গেছে। কানেকশনের সীমা : {0} মনে রাখবেন: বাঁদিকে দেখানো ফল্ট কোডটি সঠিক, যদিও এতে একটি বানান ভুল আছে ("limt")। এই সমস্যা ট্র্যাক করার জন্য ফল্ট সংক্রান্ত নিয়ম তৈরি করার সময়, এখানে যেভাবে কোডটি দেখানো হয়েছে ঠিক সেইভাবে ব্যবহার করতে ভুলবেন না। |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
| সমস্যার নাম | এটি তখন ঘটে যখন |
|---|---|
InvalidCountValue |
ConcurrentRatelimit-এ ভুল কাউন্ট ভ্যালু উল্লেখ করা হয়েছে। |
ConcurrentRatelimitStepAttachment\ |
প্রক্সি অনুরোধ/উত্তর/সমস্যা সংক্রান্ত পাথে কনকারেন্ট রেটলিমিট নীতি {0} অ্যাটাচমেন্ট অনুমোদিত নয়। এই নীতি টার্গেট এন্ডপয়েন্টে রাখতে হবে। |
ConcurrentRatelimitStepAttachment\ |
টার্গেট অনুরোধ/উত্তর/সমস্যা পাথে কনকারেন্ট রেটলিমিট নীতি {0} অ্যাটাচমেন্ট নেই। এই নীতি টার্গেট অনুরোধ প্রিফ্লো, টার্গেট উত্তর পোস্টফ্লো, এবং DefaultFaultRule-এ রাখতে হবে। |
InvalidTTLForMessageTimeOut |
মেসেজ টাইমআউটের জন্য নির্দিষ্ট করা ConcurrentRatelimit ভুল ttl ভ্যালু। এটি অবশ্যই একটি ধনাত্মক পূর্ণসংখ্যা হতে হবে। |
ফল্ট ভেরিয়েবল
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, এইসব ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল সমস্যার নাম, যা উপরে দেওয়া রানটাইম সংক্রান্ত সমস্যা সারণীতে তালিকাভুক্ত করা আছে। ফল্ট কোডের শেষ অংশটি হল ফল্টের নাম। | fault.name Matches "ConcurrentRatelimtViolation"
মনে রাখবেন: উদাহরণে দেখানো সমস্যার কোডটি সঠিক, যদিও এতে একটি বানান ভুল আছে ("limt")। এই সমস্যাটি ট্র্যাক করার জন্য ফল্ট নিয়ম তৈরি করার সময়, এখানে দেখানো কোডটি ঠিক সেইভাবেই ব্যবহার করতে ভুলবেন না। |
concurrentratelimit.policy_name.failed |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | concurrentratelimit.CRL-RateLimitPolicy.failed = true |
সমস্যার উত্তরের উদাহরণ
রেট সীমা অতিক্রম করা হলে, নীতি ক্লায়েন্টকে শুধুমাত্র HTTP স্ট্যাটাস 503 রিটার্ন করে।
ভুল নিয়মের উদাহরণ
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRules>
<FaultRule name="Quota Errors">
<Step>
<Name>JavaScript-1</Name>
<Condition>(fault.name Matches "ConcurrentRatelimtViolation") </Condition>
</Step>
<Condition>concurrentratelimit.CRL-RateLimitPolicy.failed=true</Condition>
</FaultRule>
</FaultRules>DecodeJWS নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | এটি তখন ঘটে যখন |
|---|---|---|
steps.jws.FailedToDecode |
401 | নীতিটি JWS ডিকোড করতে পারেনি। JWS সম্ভবত খারাপ হয়ে গেছে। |
steps.jws.FailedToResolveVariable |
401 | নীতির <Source> এলিমেন্টে নির্দিষ্ট করা ফ্লো ভেরিয়েবেল
না থাকলে এটি ঘটে। |
steps.jws.InvalidClaim |
401 | দাবি না থাকা বা দাবি না মেলা অথবা হেডার না থাকা বা হেডার না মেলা। |
steps.jws.InvalidJsonFormat |
401 | JWS হেডারে ভুল JSON পাওয়া গেছে। |
steps.jws.InvalidJws |
401 | JWS স্বাক্ষর যাচাইকরণ ব্যর্থ হলে এই সমস্যা হয়। |
steps.jws.InvalidPayload |
401 | JWS পেলোড সঠিক নয়। |
steps.jws.InvalidSignature |
401 | <DetachedContent> বাদ দেওয়া হয়েছে এবং JWS-এ আলাদা করা কন্টেন্ট পেলোড আছে। |
steps.jws.MissingPayload |
401 | JWS পেলোড নেই। |
steps.jws.NoAlgorithmFoundInHeader |
401 | JWS-এ অ্যালগরিদম হেডার না থাকলে এটি ঘটে। |
steps.jws.UnknownException |
401 | অজানা ব্যতিক্রম ঘটেছে। |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | এটি তখন ঘটে যখন |
|---|---|
InvalidAlgorithm |
শুধুমাত্র এই মানগুলিই সঠিক: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512. |
|
|
ডেপ্লয়মেন্ট সংক্রান্ত অন্যান্য সম্ভাব্য সমস্যা। |
ফল্ট ভেরিয়েবল
রানটাইম ত্রুটি ঘটলে এই ভেরিয়েবলগুলি সেট করা হয়। আরও তথ্যের জন্য, নীতি ত্রুটি সম্পর্কে আপনার যা জানা দরকার তা দেখুন।
| ভেরিয়েবল | যেখানে | উদাহরণ |
|---|---|---|
fault.name=" fault_name " | fault_name হল ফল্টের নাম, যা উপরে রানটাইম ত্রুটির সারণীতে তালিকাভুক্ত করা হয়েছে। ফল্ট নামটি ফল্ট কোডের শেষ অংশ। | fault.name Matches "TokenExpired" |
JWS.failed | সমস্ত JWS নীতি ব্যর্থতার ক্ষেত্রে একই পরিবর্তনশীল সেট করে। | jws.JWS-Policy.failed = true |
উদাহরণ ত্রুটি প্রতিক্রিয়া
ত্রুটি পরিচালনার জন্য, সর্বোত্তম অনুশীলন হল ত্রুটি প্রতিক্রিয়ার errorcode অংশটি আটকে রাখা। faultstring -এ লেখার উপর নির্ভর করবেন না, কারণ এটি পরিবর্তন হতে পারে।
উদাহরণ দোষ নিয়ম
<FaultRules>
<FaultRule name="JWS Policy Errors">
<Step>
<Name>JavaScript-1</Name>
<Condition>(fault.name Matches "TokenExpired")</Condition>
</Step>
<Condition>JWS.failed=true</Condition>
</FaultRule>
</FaultRules>DecodeJWT নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি ফল্ট রুল তৈরি করলে, এই তথ্য জানা গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি হ্যান্ডেল করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ | এর সমাধান করুন |
|---|---|---|---|
steps.jwt.FailedToDecode |
401 | নীতি JWT ডিকোড করতে না পারলে এটি ঘটে। JWT হয়ত ভুল, অবৈধ বা অন্য কোনও কারণে ডিকোড করা যাচ্ছে না। | build |
steps.jwt.FailedToResolveVariable |
401 | নীতির <Source> এলিমেন্টে নির্দিষ্ট করা ফ্লো ভেরিয়েবেল
না থাকলে এটি ঘটে। |
|
steps.jwt.InvalidToken |
401 | নীতির <Source> এলিমেন্টে উল্লেখ করা ফ্লো ভেরিয়েবল
স্কোপের বাইরে থাকলে বা রিজলভ করা না গেলে এটি ঘটে। |
build |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | কারণ | এর সমাধান করুন |
|---|---|---|
InvalidEmptyElement |
JWT ডিকোড করার জন্য যে ফ্লো ভেরিয়েবল ব্যবহার করা হবে সেটি নীতির
<Source> এলিমেন্টে উল্লেখ করা না থাকলে এটি ঘটে।
|
build |
ফল্ট ভেরিয়েবল
রানটাইম ত্রুটি ঘটলে এই ভেরিয়েবলগুলি সেট করা হয়। আরও তথ্যের জন্য, নীতি ত্রুটি সম্পর্কে আপনার যা জানা দরকার তা দেখুন।
| ভেরিয়েবল | যেখানে | উদাহরণ |
|---|---|---|
fault.name=" fault_name " | fault_name হল ফল্টের নাম, যা উপরে রানটাইম ত্রুটির সারণীতে তালিকাভুক্ত করা হয়েছে। ফল্ট নামটি ফল্ট কোডের শেষ অংশ। | fault.name Matches "TokenExpired" |
JWT.failed | সমস্ত JWT নীতি ব্যর্থতার ক্ষেত্রে একই পরিবর্তনশীল সেট করে। | JWT.failed = true |
উদাহরণ ত্রুটি প্রতিক্রিয়া
ত্রুটি পরিচালনার জন্য, সর্বোত্তম অনুশীলন হল ত্রুটি প্রতিক্রিয়ার errorcode অংশটি আটকে রাখা। faultstring -এ লেখার উপর নির্ভর করবেন না, কারণ এটি পরিবর্তন হতে পারে।
উদাহরণ দোষ নিয়ম
<FaultRules>
<FaultRule name="JWT Policy Errors">
<Step>
<Name>JavaScript-1</Name>
<Condition>(fault.name Matches "TokenExpired")</Condition>
</Step>
<Condition>JWT.failed=true</Condition>
</FaultRule>
</FaultRules>
ExtractVariables নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ | এর সমাধান করুন |
|---|---|---|---|
steps.extractvariables.ExecutionFailed |
500 |
এই সমস্যাটি তখন হয় যখন:
|
build |
steps.extractvariables.ImmutableVariable |
500 | নীতিতে ব্যবহৃত ভেরিয়েবল অপরিবর্তনীয়। নীতিটি এই ভেরিয়েবল সেট করতে পারেনি। | |
steps.extractvariables.InvalidJSONPath |
500 | নীতিতে JSONPath এলিমেন্টে ভুল JSON পাথ ব্যবহার করা হলে এই সমস্যা হয়।
যেমন, JSON পেলোডে যদি Name অবজেক্ট না থাকে,
কিন্তু আপনি নীতিতে Name-কে পাথ হিসেবে নির্দিষ্ট করেন, তাহলে এই সমস্যাটি হয়। |
build |
steps.extractvariables.JsonPathParsingFailure |
500 | নীতি JSON পাথ পার্স করতে না পারলে এবং Source এলিমেন্টে উল্লেখ করা ফ্লো ভেরিয়েবল থেকে
ডেটা এক্সট্র্যাক্ট করতে না পারলে এই সমস্যা হয়। Source এলিমেন্টে উল্লেখ করা ফ্লো ভেরিয়েবল বর্তমান
ফ্লোতে না থাকলে সাধারণত এটি
হয়। |
build |
steps.extractvariables.SetVariableFailed |
500 | নীতি কোনও ভেরিয়েবলে মান সেট করতে না পারলে এই সমস্যা হয়। সাধারণত, নেস্টেড ডট-সেপারেটেড ফর্ম্যাটে একই শব্দ দিয়ে শুরু হওয়া একাধিক ভেরিয়েবলে মান অ্যাসাইন করার চেষ্টা করলে এই সমস্যা হয়। | build |
steps.extractvariables.SourceMessageNotAvailable |
500 | এই সমস্যাটি তখনই হয়, যখন নীতির Source এলিমেন্টে উল্লেখ করা মেসেজ
ভেরিয়েবলটি
এইসবের মধ্যে কোনও একটি হয়:
|
build |
steps.extractvariables.UnableToCast |
500 | নীতিটি যদি এক্সট্র্যাক্ট করা মানকে কোনও ভেরিয়েবলে কাস্ট করতে না পারে, তাহলে এই সমস্যাটি হয়। সাধারণত, আপনি যদি একটি ডেটা টাইপের ভ্যালু অন্য ডেটা টাইপের ভেরিয়েবলে সেট করার চেষ্টা করেন, তাহলে এটি ঘটে। | build |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | কারণ | এর সমাধান করুন |
|---|---|---|
NothingToExtract |
নীতিতে URIPath, QueryParam,
Header, FormParam, XMLPayload অথবা JSONPayload, এইসব এলিমেন্টের কোনওটি না থাকলে, API প্রক্সি ডেপ্লয় করা যায় না, কারণ এক্সট্র্যাক্ট করার মতো কিছু থাকে না। |
build |
NONEmptyPrefixMappedToEmptyURI |
XMLPayload এলিমেন্টের অধীনে Namespace এলিমেন্টে নীতির কোনও প্রিফিক্স
সংজ্ঞায়িত করা থাকলে, কিন্তু কোনও URI সংজ্ঞায়িত করা না থাকলে
এই সমস্যাটি হয়। |
build |
DuplicatePrefix |
XMLPayload এলিমেন্টের অধীনে Namespace এলিমেন্টে একই প্রিফিক্স একাধিকবার
সংজ্ঞায়িত করা থাকলে এই সমস্যা হয়। |
build |
NoXPathsToEvaluate |
নীতিতে XPath এলিমেন্ট না থাকলে
XMLPayload এলিমেন্ট, তাহলে এই সমস্যার কারণে API প্রক্সি ডেপ্লয় করা যায় না।
|
build |
EmptyXPathExpression |
নীতিতে XMLPayload
এলিমেন্টের মধ্যে XPath এক্সপ্রেশন খালি থাকলে, API প্রক্সি ডেপ্লয় করা যায় না। |
build |
NoJSONPathsToEvaluate |
নীতিতে JSONPath এলিমেন্ট না থাকলে
JSONPayload এলিমেন্ট, তাহলে এই সমস্যার কারণে API প্রক্সি ডেপ্লয় করা যায় না। |
build |
EmptyJSONPathExpression |
নীতিতে XPath এক্সপ্রেশন খালি থাকলে
XMLPayload এলিমেন্ট, API প্রক্সি ডেপ্লয় করা যায় না। |
build |
MissingName |
যেখানে প্রয়োজন, সেখানে name অ্যাট্রিবিউট না থাকলে, QueryParam, Header, FormParam বা
Variable-এর মতো কোনও নীতি
এলিমেন্টে API প্রক্সি ডেপ্লয় করা যায় না। |
build |
PatternWithoutVariable |
নীতিতে Pattern এলিমেন্টের মধ্যে কোনও ভেরিয়েবল নির্দিষ্ট করা না থাকলে,
API প্রক্সি ডেপ্লয় করা যায় না। Pattern এলিমেন্টের জন্য এক্সট্র্যাক্ট করা ডেটা যে ভেরিয়েবেলে স্টোর করা হবে,
তার নাম প্রয়োজন। |
build |
CannotBeConvertedToNodeset |
নীতিতে যদি এমন XPath এক্সপ্রেশন থাকে যেখানে Variable type
nodeset হিসেবে সংজ্ঞায়িত করা হয়,
কিন্তু এক্সপ্রেশনটি nodeset-এ কনভার্ট করা না যায়, তাহলে API প্রক্সি ডেপ্লয় করা যায় না। |
build |
JSONPathCompilationFailed |
নীতিটি নির্দিষ্ট JSON পাথ কম্পাইল করতে পারেনি। | |
InstantiationFailed |
নীতিটি ইনস্ট্যানশিয়েট করা যায়নি। | |
XPathCompilationFailed |
XPath এলিমেন্টে ব্যবহৃত প্রিফিক্স বা ভ্যালু যদি নীতির মধ্যে ঘোষণা করা কোনও
নেমস্পেসের অংশ না হয়, তাহলে API প্রক্সি
ডেপ্লয় করা যাবে না। |
build |
InvalidPattern |
নীতির মধ্যে URIPath,
QueryParam, Header, FormParam, XMLPayload
বা JSONPayload-এর মতো কোনও এলিমেন্টে Pattern এলিমেন্টের সংজ্ঞা ভুল হলে, API প্রক্সি ডেপ্লয় করা যায় না।
|
build |
ফল্ট ভেরিয়েবল
এই নীতি রানটাইমে কোনও সমস্যা ট্রিগার করলে, এইসব ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল সমস্যার নাম, যা উপরে দেওয়া রানটাইম সংক্রান্ত সমস্যা সারণীতে তালিকাভুক্ত করা আছে। ফল্ট কোডের শেষ অংশটি হল ফল্টের নাম। | fault.name = "SourceMessageNotAvailable" |
extractvariables.policy_name.failed |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | extractvariables.EV-ParseJsonResponse.failed = true |
সমস্যার উত্তরের উদাহরণ
{ "fault":{ "detail":{ "errorcode":"steps.extractvariables.SourceMessageNotAvailable" }, "faultstring":"request message is not available for ExtractVariable: EV-ParseJsonResponse" } }
ভুল নিয়মের উদাহরণ
<FaultRule name="Extract Variable Faults"> <Step> <Name>AM-CustomErrorMessage</Name> <Condition>(fault.name = "SourceMessageNotAvailable") </Condition> </Step> <Condition>(extractvariables.EM-ParseJsonResponse.failed = true) </Condition> </FaultRule>
GenerateJWS নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল তৈরি করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার যা জানা প্রয়োজন এবং সমস্যার সমাধান করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | এটি তখন ঘটে যখন |
|---|---|---|
steps.jws.GenerationFailed |
401 | নীতিটি JWS তৈরি করতে পারেনি। |
steps.jws.InsufficientKeyLength |
401 | HS256 অ্যালগরিদমের জন্য ৩২ বাইটের কম কী |
steps.jws.InvalidClaim |
401 | দাবি না থাকা বা দাবি না মেলা অথবা হেডার না থাকা বা হেডার না মেলা। |
steps.jws.InvalidCurve |
401 | কী দ্বারা নির্দিষ্ট করা কার্ভটি উপবৃত্তাকার কার্ভ অ্যালগরিদমের জন্য সঠিক নয়। |
steps.jws.InvalidJsonFormat |
401 | JWS হেডারে ভুল JSON পাওয়া গেছে। |
steps.jws.InvalidPayload |
401 | JWS পেলোড সঠিক নয়। |
steps.jws.InvalidSignature |
401 | <DetachedContent> বাদ দেওয়া হয়েছে এবং JWS-এ আলাদা করা কন্টেন্ট পেলোড আছে। |
steps.jws.KeyIdMissing |
401 | যাচাইকরণ নীতি পাবলিক কীয়ের সোর্স হিসেবে JWKS ব্যবহার করে, কিন্তু সাইন করা JWS-এ
হেডারে kid প্রপার্টি অন্তর্ভুক্ত থাকে না। |
steps.jws.KeyParsingFailed |
401 | প্রদত্ত কী সংক্রান্ত তথ্য থেকে সর্বজনীন কী পার্স করা যায়নি। |
steps.jws.MissingPayload |
401 | JWS পেলোড নেই। |
steps.jws.NoAlgorithmFoundInHeader |
401 | JWS-এ অ্যালগরিদম হেডার না থাকলে এটি ঘটে। |
steps.jws.SigningFailed |
401 | GenerateJWS-এ, HS384 বা HS512 অ্যালগরিদমের জন্য ন্যূনতম সাইজের থেকে ছোট কী |
steps.jws.UnknownException |
401 | অজানা ব্যতিক্রম ঘটেছে। |
steps.jws.WrongKeyType |
401 | ভুল ধরনের কী উল্লেখ করা হয়েছে। যেমন, আপনি যদি কোনও উপবৃত্তাকার কার্ভ অ্যালগরিদমের জন্য RSA কী বা RSA অ্যালগরিদমের জন্য কার্ভ কী নির্দিষ্ট করেন। |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | এটি তখন ঘটে যখন |
|---|---|
InvalidAlgorithm |
শুধুমাত্র এই মানগুলিই সঠিক: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512. |
|
|
ডেপ্লয়মেন্ট সংক্রান্ত অন্যান্য সম্ভাব্য সমস্যা। |
ফল্ট ভেরিয়েবল
রানটাইম ত্রুটি ঘটলে এই ভেরিয়েবলগুলি সেট করা হয়। আরও তথ্যের জন্য, নীতি ত্রুটি সম্পর্কে আপনার যা জানা দরকার তা দেখুন।
| ভেরিয়েবল | যেখানে | উদাহরণ |
|---|---|---|
fault.name=" fault_name " | fault_name হল ফল্টের নাম, যা উপরে রানটাইম ত্রুটির সারণীতে তালিকাভুক্ত করা হয়েছে। ফল্ট নামটি ফল্ট কোডের শেষ অংশ। | fault.name Matches "TokenExpired" |
JWS.failed | সমস্ত JWS নীতি ব্যর্থতার ক্ষেত্রে একই পরিবর্তনশীল সেট করে। | jws.JWS-Policy.failed = true |
উদাহরণ ত্রুটি প্রতিক্রিয়া
ত্রুটি পরিচালনার জন্য, সর্বোত্তম অনুশীলন হল ত্রুটি প্রতিক্রিয়ার errorcode অংশটি আটকে রাখা। faultstring -এ লেখার উপর নির্ভর করবেন না, কারণ এটি পরিবর্তন হতে পারে।
উদাহরণ দোষ নিয়ম
<FaultRules>
<FaultRule name="JWS Policy Errors">
<Step>
<Name>JavaScript-1</Name>
<Condition>(fault.name Matches "TokenExpired")</Condition>
</Step>
<Condition>JWS.failed=true</Condition>
</FaultRule>
</FaultRules>GenerateJWT নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি ফল্ট রুল তৈরি করলে, এই তথ্য জানা গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি হ্যান্ডেল করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | এটি তখন ঘটে যখন |
|---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 | যাচাইকরণ নীতিতে একাধিক অ্যালগরিদম থাকলে এটি ঘটে। |
steps.jwt.AlgorithmMismatch |
401 | জেনারেট নীতিতে উল্লেখ করা অ্যালগরিদমটি যাচাই নীতিতে প্রত্যাশিত অ্যালগরিদমের সাথে ম্যাচ করেনি। উল্লেখ করা অ্যালগরিদম মিলতে হবে। |
steps.jwt.FailedToDecode |
401 | নীতিটি JWT ডিকোড করতে পারেনি। JWT সম্ভবত খারাপ হয়ে গেছে। |
steps.jwt.GenerationFailed |
401 | নীতিটি JWT তৈরি করতে পারেনি। |
steps.jwt.InsufficientKeyLength |
401 | HS256 অ্যালগরিদমের জন্য ৩২ বাইটের কম, HS386 অ্যালগরিদমের জন্য ৪৮ বাইটের কম এবং HS512 অ্যালগরিদমের জন্য ৬৪ বাইটের কম কী। |
steps.jwt.InvalidClaim |
401 | দাবি না থাকা বা দাবি না মেলা অথবা হেডার না থাকা বা হেডার না মেলা। |
steps.jwt.InvalidCurve |
401 | কী দ্বারা নির্দিষ্ট করা কার্ভটি উপবৃত্তাকার কার্ভ অ্যালগরিদমের জন্য সঠিক নয়। |
steps.jwt.InvalidJsonFormat |
401 | হেডার বা পেলোডে ভুল JSON পাওয়া গেছে। |
steps.jwt.InvalidToken |
401 | JWT স্বাক্ষর যাচাইকরণ ব্যর্থ হলে এই সমস্যা হয়। |
steps.jwt.JwtAudienceMismatch |
401 | টোকেন যাচাইকরণের সময় অডিয়েন্স দাবি করা যায়নি। |
steps.jwt.JwtIssuerMismatch |
401 | টোকেন যাচাই করার সময় ইস্যুকারী দাবিটি সফল হয়নি। |
steps.jwt.JwtSubjectMismatch |
401 | টোকেন যাচাইকরণের সময় সাবজেক্ট দাবিটি সফল হয়নি। |
steps.jwt.KeyIdMissing |
401 | যাচাইকরণ নীতি পাবলিক কীয়ের সোর্স হিসেবে JWKS ব্যবহার করে, কিন্তু স্বাক্ষরিত JWT-তে
হেডারে kid প্রপার্টি অন্তর্ভুক্ত থাকে না। |
steps.jwt.KeyParsingFailed |
401 | প্রদত্ত কী সংক্রান্ত তথ্য থেকে সর্বজনীন কী পার্স করা যায়নি। |
steps.jwt.NoAlgorithmFoundInHeader |
401 | JWT-তে কোনও অ্যালগরিদম হেডার না থাকলে এটি ঘটে। |
steps.jwt.NoMatchingPublicKey |
401 | যাচাইকরণ নীতি পাবলিক কীয়ের সোর্স হিসেবে JWKS ব্যবহার করে, কিন্তু kid
স্বাক্ষরিত JWT-তে JWKS তালিকাভুক্ত নয়। |
steps.jwt.SigningFailed |
401 | GenerateJWT-তে, HS384 বা HS512 অ্যালগরিদমের জন্য ন্যূনতম সাইজের চেয়ে ছোট কী |
steps.jwt.TokenExpired |
401 | নীতিটি মেয়াদ শেষ হয়ে যাওয়া টোকেন যাচাই করার চেষ্টা করে। |
steps.jwt.TokenNotYetValid |
401 | টোকেনটি এখনও বৈধ নয়। |
steps.jwt.UnhandledCriticalHeader |
401 | Verify JWT নীতি দ্বারা crit হেডারে পাওয়া হেডারটি KnownHeaders-এ
তালিকাভুক্ত নেই। |
steps.jwt.UnknownException |
401 | অজানা ব্যতিক্রম ঘটেছে। |
steps.jwt.WrongKeyType |
401 | ভুল ধরনের কী উল্লেখ করা হয়েছে। যেমন, আপনি যদি কোনও উপবৃত্তাকার কার্ভ অ্যালগরিদমের জন্য RSA কী বা RSA অ্যালগরিদমের জন্য কার্ভ কী নির্দিষ্ট করেন। |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | কারণ | এর সমাধান করুন |
|---|---|---|
InvalidNameForAdditionalClaim |
<AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্টে <Claim>
ব্যবহৃত দাবিটি নিম্নলিখিত রেজিস্টার করা নামের মধ্যে একটি হলে, ডিপ্লয়মেন্ট ব্যর্থ হবে:
kid, iss, sub, aud, iat,
exp, nbf, বা jti.
|
build |
InvalidTypeForAdditionalClaim |
<AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্ট <Claim>-এ ব্যবহৃত দাবিটি string, number,
boolean বা map ধরনের না হলে, ডেপ্লয়মেন্ট ব্যর্থ হবে।
|
build |
MissingNameForAdditionalClaim |
<AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্ট <Claim>
-এ দাবির নাম উল্লেখ করা না থাকলে, ডিপ্লয়মেন্ট সম্পূর্ণ হবে না।
|
build |
InvalidNameForAdditionalHeader |
<AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্টে <Claim>
ব্যবহৃত দাবিটির নাম alg বা typ হলে এই সমস্যা হয়।
|
build |
InvalidTypeForAdditionalHeader |
<AdditionalClaims> এলিমেন্টের <Claim>
চাইল্ড এলিমেন্টে ব্যবহৃত দাবির ধরন string, number,
boolean বা map ধরনের না হলে, ডেপ্লয়মেন্ট সফল হবে না।
|
build |
InvalidValueOfArrayAttribute |
<AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্ট <Claim>-এর মধ্যে থাকা অ্যারে অ্যাট্রিবিউটের ভ্যালু true বা false হিসেবে সেট করা না থাকলে এই সমস্যা হয়।
|
build |
InvalidConfigurationForActionAndAlgorithm |
HS ফ্যামিলি অ্যালগরিদমের সাথে <PrivateKey> এলিমেন্ট ব্যবহার করা হলে অথবা
RSA ফ্যামিলি অ্যালগরিদমের সাথে <SecretKey> এলিমেন্ট ব্যবহার করা হলে, ডেপ্লয়মেন্ট কাজ করবে না।
|
build |
InvalidValueForElement |
<Algorithm> এলিমেন্টে উল্লেখ করা মান ব্যবহারযোগ্য না হলে,
ডেপ্লয়মেন্ট সফল হবে না।
|
build |
MissingConfigurationElement |
<PrivateKey> এলিমেন্ট RSA ফ্যামিলি অ্যালগরিদম অথবা <SecretKey> এলিমেন্ট HS ফ্যামিলি
অ্যালগরিদমের সাথে ব্যবহার করা না হলে এই সমস্যা হবে।
|
build |
InvalidKeyConfiguration |
<PrivateKey>
বা <SecretKey> এলিমেন্টে চাইল্ড এলিমেন্ট <Value> নির্দিষ্ট করা না থাকলে, ডেপ্লয়মেন্ট সম্পূর্ণ হবে না।
|
build |
EmptyElementForKeyConfiguration |
<Value> চাইল্ড এলিমেন্টের ref অ্যাট্রিবিউট <PrivateKey>
বা <SecretKey> এলিমেন্ট খালি বা অনির্দিষ্ট হলে, ডেপ্লয়মেন্ট ব্যর্থ হবে।
|
build |
InvalidVariableNameForSecret |
<PrivateKey>
বা <SecretKey> এলিমেন্টের চাইল্ড
এলিমেন্টের <Value> ref অ্যাট্রিবিউটে উল্লেখ করা ফ্লো ভেরিয়েবলের নামে (private.) প্রাইভেট প্রিফিক্স না থাকলে এই সমস্যা হয়।
|
build |
InvalidSecretInConfig |
<PrivateKey>
বা <SecretKey> এলিমেন্টের চাইল্ড এলিমেন্ট <Value>-এ ব্যক্তিগত প্রিফিক্স (private.) না থাকলে এই সমস্যা হয়।
|
build |
InvalidTimeFormat |
<NotBefore> এলিমেন্টে উল্লেখ করা ভ্যালু
সঠিক ফর্ম্যাটে না থাকলে, ডেপ্লয়মেন্ট সম্পূর্ণ হবে না।
|
build |
ফল্ট ভেরিয়েবল
রানটাইম ত্রুটি ঘটলে এই ভেরিয়েবলগুলি সেট করা হয়। আরও তথ্যের জন্য, নীতি ত্রুটি সম্পর্কে আপনার যা জানা দরকার তা দেখুন।
| ভেরিয়েবল | যেখানে | উদাহরণ |
|---|---|---|
fault.name=" fault_name " | fault_name হল ফল্টের নাম, যা উপরে রানটাইম ত্রুটির সারণীতে তালিকাভুক্ত করা হয়েছে। ফল্ট নামটি ফল্ট কোডের শেষ অংশ। | fault.name Matches "TokenExpired" |
JWT.failed | সমস্ত JWT নীতি ব্যর্থতার ক্ষেত্রে একই পরিবর্তনশীল সেট করে। | JWT.failed = true |
উদাহরণ ত্রুটি প্রতিক্রিয়া
ত্রুটি পরিচালনার জন্য, সর্বোত্তম অনুশীলন হল ত্রুটি প্রতিক্রিয়ার errorcode অংশটি আটকে রাখা। faultstring -এ লেখার উপর নির্ভর করবেন না, কারণ এটি পরিবর্তন হতে পারে।
উদাহরণ দোষ নিয়ম
<FaultRules>
<FaultRule name="JWT Policy Errors">
<Step>
<Name>JavaScript-1</Name>
<Condition>(fault.name Matches "TokenExpired")</Condition>
</Step>
<Condition>JWT.failed=true</Condition>
</FaultRule>
</FaultRules>
JavaCallout নীতি
এই বিভাগটি ফল্ট কোড এবং ত্রুটি বার্তাগুলি বর্ণনা করে যেগুলি ফেরত দেওয়া হয় এবং ত্রুটি ভেরিয়েবলগুলি যেগুলি এজ দ্বারা সেট করা হয় যখন এই নীতিটি একটি ত্রুটি ট্রিগার করে৷ এই তথ্যটি জানা গুরুত্বপূর্ণ যে আপনি ত্রুটিগুলি পরিচালনা করার জন্য ত্রুটির নিয়ম তৈরি করছেন কিনা। আরও জানতে, নীতিগত ত্রুটি এবং হ্যান্ডলিং ফল্ট সম্পর্কে আপনার যা জানা দরকার তা দেখুন৷
রানটাইম ত্রুটি
নীতি কার্যকর করার সময় এই ত্রুটিগুলি ঘটতে পারে৷
| ফল্ট কোড | HTTP স্থিতি | কারণ | ঠিক করুন |
|---|---|---|---|
steps.javacallout.ExecutionError | 500 | JavaCallout নীতি কার্যকর করার সময় জাভা কোড একটি ব্যতিক্রম ছুঁড়ে বা শূন্য প্রদান করলে ঘটে। | build |
স্থাপনার ত্রুটি
এই ত্রুটিগুলি ঘটতে পারে যখন নীতি সমন্বিত প্রক্সি স্থাপন করা হয়৷
| ত্রুটির নাম | ফল্ট স্ট্রিং | HTTP স্থিতি | যখন ঘটে |
|---|---|---|---|
ResourceDoesNotExist | Resource with name [name] and type [type] does not exist | N/A | <ResourceURL> উপাদানে নির্দিষ্ট করা ফাইলটি বিদ্যমান নেই। |
JavaCalloutInstantiationFailed | Failed to instantiate the JavaCallout Class [classname] | N/A | <ClassName> এলিমেন্টে নির্দিষ্ট করা ক্লাস ফাইলটি জারে নেই। |
IncompatibleJavaVersion | Failed to load java class [classname] definition due to - [reason] | N/A | ফল্ট স্ট্রিং দেখুন। সমর্থিত সফ্টওয়্যার এবং সমর্থিত সংস্করণগুলিও দেখুন। |
JavaClassNotFoundInJavaResource | Failed to find the ClassName in java resource [jar_name] - [class_name] | N/A | ফল্ট স্ট্রিং দেখুন। |
JavaClassDefinitionNotFound | Failed to load java class [class_name] definition due to - [reason] | N/A | ফল্ট স্ট্রিং দেখুন। |
NoAppropriateConstructor | No appropriate constructor found in JavaCallout class [class_name] | N/A | ফল্ট স্ট্রিং দেখুন। |
NoResourceForURL | Could not locate a resource with URL [string] | N/A | ফল্ট স্ট্রিং দেখুন। |
ফল্ট ভেরিয়েবল
যখন এই নীতি একটি ত্রুটি ট্রিগার করে তখন এই ভেরিয়েবলগুলি সেট করা হয়৷ আরও তথ্যের জন্য, নীতি ত্রুটি সম্পর্কে আপনার যা জানা দরকার তা দেখুন।
| ভেরিয়েবল | যেখানে | উদাহরণ |
|---|---|---|
fault.name=" fault_name " | fault_name হল ফল্টের নাম, যা উপরে রানটাইম ত্রুটির সারণীতে তালিকাভুক্ত করা হয়েছে। ফল্ট নামটি ফল্ট কোডের শেষ অংশ। | fault.name Matches "ExecutionError" |
javacallout. policy_name .failed | policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যা ত্রুটিটি ফেলেছে। | javacallout.JC-GetUserData.failed = true |
উদাহরণ ত্রুটি প্রতিক্রিয়া
{ "fault":{ "faultstring":"Failed to execute JavaCallout. [policy_name]", "detail":{ "errorcode":"javacallout.ExecutionError" } } }
উদাহরণ দোষ নিয়ম
<FaultRule name="JavaCalloutFailed"> <Step> <Name>AM-JavaCalloutError</Name> </Step> <Condition>(fault.name Matches "ExecutionError") </Condition> </FaultRule>
জাভাস্ক্রিপ্ট নীতি
এই বিভাগটি ফল্ট কোড এবং ত্রুটি বার্তাগুলি বর্ণনা করে যেগুলি ফেরত দেওয়া হয় এবং ত্রুটি ভেরিয়েবলগুলি যেগুলি এজ দ্বারা সেট করা হয় যখন এই নীতিটি একটি ত্রুটি ট্রিগার করে৷ এই তথ্যটি জানা গুরুত্বপূর্ণ যে আপনি ত্রুটিগুলি পরিচালনা করার জন্য ত্রুটির নিয়ম তৈরি করছেন কিনা। আরও জানতে, নীতিগত ত্রুটি এবং হ্যান্ডলিং ফল্ট সম্পর্কে আপনার যা জানা দরকার তা দেখুন৷
রানটাইম ত্রুটি
নীতি কার্যকর করার সময় এই ত্রুটিগুলি ঘটতে পারে৷
| ফল্ট কোড | HTTP স্থিতি | কারণ | ঠিক করুন |
|---|---|---|---|
steps.javascript.ScriptExecutionFailed | 500 | জাভাস্ক্রিপ্ট নীতি বিভিন্ন ধরনের ScriptExecutionFailed ত্রুটি নিক্ষেপ করতে পারে। সাধারণত দেখা যায় এমন ত্রুটিগুলির মধ্যে রয়েছে RangeError , ReferenceError , SyntaxError , TypeError , এবং URIError ৷ | build |
steps.javascript.ScriptExecutionFailedLineNumber | 500 | জাভাস্ক্রিপ্ট কোডে একটি ত্রুটি ঘটেছে৷ বিস্তারিত জানার জন্য ফল্ট স্ট্রিং দেখুন। | N/A |
steps.javascript.ScriptSecurityError | 500 | JavaScript কার্যকর করার সময় একটি নিরাপত্তা ত্রুটি ঘটেছে। বিস্তারিত জানার জন্য ফল্ট স্ট্রিং দেখুন। | N/A |
স্থাপনার ত্রুটি
আপনি যখন এই নীতি সম্বলিত একটি প্রক্সি স্থাপন করেন তখন এই ত্রুটিগুলি ঘটতে পারে৷
| ত্রুটির নাম | কারণ | ঠিক করুন |
|---|---|---|
InvalidResourceUrlFormat | যদি জাভাস্ক্রিপ্ট নীতির <ResourceURL> বা <IncludeURL> উপাদানের মধ্যে নির্দিষ্ট করা রিসোর্স ইউআরএলের ফর্ম্যাটটি অবৈধ হয়, তাহলে API প্রক্সির স্থাপনা ব্যর্থ হয়। | build |
InvalidResourceUrlReference | যদি <ResourceURL> বা <IncludeURL> উপাদানগুলি এমন একটি JavaScript ফাইলকে নির্দেশ করে যা বিদ্যমান নেই, তাহলে API প্রক্সির স্থাপনা ব্যর্থ হয়। উল্লেখিত সোর্স ফাইলটি অবশ্যই API প্রক্সি, এনভায়রনমেন্ট বা প্রতিষ্ঠানের স্তরে বিদ্যমান থাকতে হবে। | build |
WrongResourceType | জাভাস্ক্রিপ্ট নীতির <ResourceURL> বা <IncludeURL> উপাদানগুলি jsc (জাভাস্ক্রিপ্ট ফাইল) ব্যতীত অন্য যেকোন রিসোর্স প্রকারকে উল্লেখ করলে এই ত্রুটিটি স্থাপনের সময় ঘটে। | build |
NoResourceURLOrSource | জাভাস্ক্রিপ্ট নীতির স্থাপনা এই ত্রুটির সাথে ব্যর্থ হতে পারে যদি <ResourceURL> উপাদানটি ঘোষণা না করা হয় বা যদি এই উপাদানটির মধ্যে সংস্থান URL সংজ্ঞায়িত না করা হয়। <ResourceURL> উপাদান একটি বাধ্যতামূলক উপাদান। অথবা, <IncludeURL> উপাদানটি ঘোষণা করা হয়েছে কিন্তু রিসোর্স URL এই উপাদানটির মধ্যে সংজ্ঞায়িত করা হয়নি। <IncludeURL> উপাদানটি ঐচ্ছিক কিন্তু ঘোষিত হলে, সম্পদ URL অবশ্যই <IncludeURL> উপাদানের মধ্যে নির্দিষ্ট করতে হবে। | build |
ফল্ট ভেরিয়েবল
যখন এই নীতি রানটাইমে একটি ত্রুটি ট্রিগার করে তখন এই ভেরিয়েবলগুলি সেট করা হয়৷ আরও তথ্যের জন্য, নীতি ত্রুটি সম্পর্কে আপনার যা জানা দরকার তা দেখুন।
| ভেরিয়েবল | যেখানে | উদাহরণ |
|---|---|---|
fault.name=" fault_name " | fault_name হল ফল্টের নাম, যা উপরে রানটাইম ত্রুটির সারণীতে তালিকাভুক্ত করা হয়েছে। ফল্ট নামটি ফল্ট কোডের শেষ অংশ। | fault.name Matches "ScriptExecutionFailed" |
javascript. policy_name .failed | policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যা ত্রুটিটি ফেলেছে। | javascript.JavaScript-1.failed = true |
উদাহরণ ত্রুটি প্রতিক্রিয়া
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Javascript runtime error: "ReferenceError: "status" is not defined. (setresponse.js:6)\"", "detail": { "errorcode": "steps.javascript.ScriptExecutionFailed" } } }
উদাহরণ দোষ নিয়ম
<FaultRule name="JavaScript Policy Faults"> <Step> <Name>AM-CustomErrorResponse</Name> <Condition>(fault.name Matches "ScriptExecutionFailed") </Condition> </Step> <Condition>(javascript.JavaScript-1.failed = true) </Condition> </FaultRule>
JSONThreatProtection নীতি
এই বিভাগটি ফল্ট কোড এবং ত্রুটি বার্তাগুলি বর্ণনা করে যেগুলি ফেরত দেওয়া হয় এবং ত্রুটি ভেরিয়েবলগুলি যেগুলি এজ দ্বারা সেট করা হয় যখন এই নীতিটি একটি ত্রুটি ট্রিগার করে৷ এই তথ্যটি জানা গুরুত্বপূর্ণ যে আপনি ত্রুটিগুলি পরিচালনা করার জন্য ত্রুটির নিয়ম তৈরি করছেন কিনা। আরও জানতে, নীতিগত ত্রুটি এবং হ্যান্ডলিং ফল্ট সম্পর্কে আপনার যা জানা দরকার তা দেখুন৷
রানটাইম ত্রুটি
নীতি কার্যকর করার সময় এই ত্রুটিগুলি ঘটতে পারে৷
| ফল্ট কোড | HTTP স্থিতি | কারণ | ঠিক করুন |
|---|---|---|---|
steps.jsonthreatprotection.ExecutionFailed | 500 | JSONThreatProtection নীতিটি বিভিন্ন ধরনের ExecutionFailed এরর ফেলতে পারে। এই ত্রুটিগুলির বেশিরভাগই ঘটে যখন নীতিতে সেট করা একটি নির্দিষ্ট থ্রেশহোল্ড অতিক্রম করা হয়। এই ধরনের ত্রুটিগুলির মধ্যে রয়েছে: অবজেক্ট এন্ট্রি নামের দৈর্ঘ্য , অবজেক্ট এন্ট্রি গণনা , অ্যারে উপাদান গণনা , ধারক গভীরতা , স্ট্রিং স্ট্রিং মান দৈর্ঘ্য । এই ত্রুটিটি ঘটে যখন পেলোডে একটি অবৈধ JSON অবজেক্ট থাকে। | build |
steps.jsonthreatprotection.SourceUnavailable | 500 | এই ত্রুটিটি ঘটে যদি <Source> উপাদানে নির্দিষ্ট করা বার্তা পরিবর্তনশীল হয়:
| build |
steps.jsonthreatprotection.NonMessageVariable | 500 | এই ত্রুটিটি ঘটে যদি <Source> উপাদানটি একটি ভেরিয়েবলে সেট করা হয় যা বার্তা টাইপ নয়। | build |
স্থাপনার ত্রুটি
কোনোটিই নয়।
ফল্ট ভেরিয়েবল
যখন এই নীতি একটি ত্রুটি ট্রিগার করে তখন এই ভেরিয়েবলগুলি সেট করা হয়৷ আরও তথ্যের জন্য, নীতি ত্রুটি সম্পর্কে আপনার যা জানা দরকার তা দেখুন।
| ভেরিয়েবল | যেখানে | উদাহরণ |
|---|---|---|
fault.name=" fault_name " | fault_name হল ফল্টের নাম, যা উপরে রানটাইম ত্রুটির সারণীতে তালিকাভুক্ত করা হয়েছে। ফল্ট নামটি ফল্ট কোডের শেষ অংশ। | fault.name Matches "SourceUnavailable" |
jsonattack. policy_name .failed | policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যা ত্রুটিটি ফেলেছে। | jsonattack.JTP-SecureRequest.failed = true |
উদাহরণ ত্রুটি প্রতিক্রিয়া
{
"fault": {
"faultstring": "JSONThreatProtection[JPT-SecureRequest]: Execution failed. reason: JSONThreatProtection[JTP-SecureRequest]: Exceeded object entry name length at line 2",
"detail": {
"errorcode": "steps.jsonthreatprotection.ExecutionFailed"
}
}
}উদাহরণ দোষ নিয়ম
<FaultRule name="JSONThreatProtection Policy Faults">
<Step>
<Name>AM-CustomErrorResponse</Name>
<Condition>(fault.name Matches "ExecutionFailed") </Condition>
</Step>
<Condition>(jsonattack.JPT-SecureRequest.failed = true) </Condition>
</FaultRule>
JSONThreatProtection নীতিতে নিম্নলিখিত ত্রুটি কোডগুলি সংজ্ঞায়িত করা হয়েছে:
JSONtoXML নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ | এর সমাধান করুন |
|---|---|---|---|
steps.jsontoxml.ExecutionFailed |
500 | ইনপুট পেলোড (JSON) খালি অথবা JSON থেকে XML নীতিতে পাস করা ইনপুট (JSON) হল ভুল বা ত্রুটিপূর্ণ। | build |
steps.jsontoxml.InCompatibleTypes |
500 | <Source> এলিমেন্ট ও
<OutputVariable> এলিমেন্টে সংজ্ঞায়িত ভেরিয়েবলের ধরন একই না হলে এই সমস্যা হয়। <Source> এলিমেন্ট ও <OutputVariable> এলিমেন্টের মধ্যে থাকা
ভেরিয়েবলের ধরন
একই হতে হবে। সঠিক ধরন হল message ও string। |
build |
steps.jsontoxml.InvalidSourceType |
500 | <Source> এলিমেন্ট
কে সংজ্ঞায়িত করার জন্য ব্যবহৃত ভেরিয়েবলের ধরন ভুল হলে এই সমস্যা হয়। ভেরিয়েবলের সঠিক ধরন হল message ও string। |
build |
steps.jsontoxml.OutputVariableIsNotAvailable |
500 | JSON থেকে XML নীতিতে নির্দিষ্ট করা ভেরিয়েবলটি যদি স্ট্রিং টাইপের হয় এবং <OutputVariable> এলিমেন্টটি ডিফাইন করা না থাকে, তাহলে এই সমস্যাটি হয়।
<Source>
<Source> এলিমেন্টে সংজ্ঞায়িত ভেরিয়েবলটি স্ট্রিং ধরনের হলে, <OutputVariable> এলিমেন্টটি বাধ্যতামূলক।
|
build |
steps.jsontoxml.SourceUnavailable |
500 |
JSON থেকে XML নীতিতে নির্দিষ্ট করা <Source> এলিমেন্টের message
ভেরিয়েবলটি যদি:
|
build |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
কোনওটিই নয়।
ফল্ট ভেরিয়েবল
রানটাইম এরর হলে এই ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল সমস্যার নাম, যা উপরে দেওয়া রানটাইম সংক্রান্ত সমস্যা সারণীতে তালিকাভুক্ত করা আছে। ফল্ট কোডের শেষ অংশটি হল ফল্টের নাম। | fault.name Matches "SourceUnavailable" |
jsontoxml.policy_name.failed |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | jsontoxml.JSON-to-XML-1.failed = true |
সমস্যার উত্তরের উদাহরণ
{
"fault": {
"faultstring": "JSONToXML[JSON-to-XML-1]: Source xyz is not available",
"detail": {
"errorcode": "steps.json2xml.SourceUnavailable"
}
}
}ভুল নিয়মের উদাহরণ
<FaultRule name="JSON To XML Faults">
<Step>
<Name>AM-SourceUnavailableMessage</Name>
<Condition>(fault.name Matches "SourceUnavailable") </Condition>
</Step>
<Step>
<Name>AM-BadJSON</Name>
<Condition>(fault.name = "ExecutionFailed")</Condition>
</Step>
<Condition>(jsontoxml.JSON-to-XML-1.failed = true) </Condition>
</FaultRule>KeyValueMapOperations নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ | এর সমাধান করুন |
|---|---|---|---|
steps.keyvaluemapoperations.SetVariableFailed |
500 |
এনক্রিপটেড কী ভ্যালু ম্যাপ থেকে কোনও ভ্যালু রিট্রিভ করার চেষ্টা করলে এবং |
build |
steps.keyvaluemapoperations.UnsupportedOperationException |
500 |
কী ভ্যালু ম্যাপ অপারেশন নীতিতে |
build |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | কারণ | এর সমাধান করুন |
|---|---|---|
InvalidIndex |
কী ভ্যালু ম্যাপ অপারেশন নীতির <Get> এলিমেন্টে নির্দিষ্ট করা index অ্যাট্রিবিউট
শূন্য বা নেগেটিভ সংখ্যা হলে, API প্রক্সি ডেপ্লয় করা যায় না। ইনডেক্স
1থেকে শুরু হয়, তাই শূন্য বা নেগেটিভ পূর্ণসংখ্যা ইনডেক্স হিসেবে গণ্য করা হয় না।
|
build |
KeyIsMissing |
<Key> এলিমেন্ট সম্পূর্ণ অনুপস্থিত থাকলে অথবা <InitialEntries> এলিমেন্টের <Entry>-এর মধ্যে <Key> এলিমেন্টের অধীনে <Parameter> এলিমেন্ট
অনুপস্থিত থাকলে, কী ভ্যালু ম্যাপ অপারেশন নীতির
কারণে এই সমস্যা হয়।
|
build |
ValueIsMissing |
Key Value Map Operations নীতির <InitialEntries> এলিমেন্টের মধ্যে <Entry> এলিমেন্টের নিচে <Value> এলিমেন্ট না থাকলে এই সমস্যা হয়।
|
build |
LDAP নীতি
এই নীতি নিম্নলিখিত ত্রুটি কোড ব্যবহার করে:
| ভুল সংকেত | বার্তা |
|---|---|
InvalidAttributeName | Invalid attribute name {0}. |
InvalidSearchBase | Search base can not be empty. |
InvalidValueForPassword | Invalid value for password field. It can not be empty. |
InvalidSearchScope | Invalid scope {0}. Allowed scopes are {1}. |
InvalidUserCredentials | Invalid user credentials. |
InvalidExternalLdapReference | Invalid external ldap reference {0}. |
LdapResourceNotFound | Ldap resource {0} not found. |
BaseDNRequired | Base DN required. |
OnlyReferenceOrValueIsAllowed | Only value or reference is allowed for {0}. |
AttributesRequired | At least one attribute required for search action. |
UserNameIsNull | User name is null. |
SearchQueryAndUserNameCannotBePresent | Both search query and username can not be present in the authentication action. Please specify either one of them. |
MessageLogging নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ |
|---|---|---|
steps.messagelogging.StepDefinitionExecutionFailed |
500 | ফল্ট স্ট্রিং দেখুন। |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | কারণ | এর সমাধান করুন |
|---|---|---|
InvalidProtocol |
<Protocol> এলিমেন্টের মধ্যে নির্দিষ্ট করা প্রোটোকল
সঠিক না হলে, MessageLogging নীতি প্রয়োগ করা এই সমস্যার কারণে ব্যর্থ হতে পারে। সঠিক প্রোটোকল হল TCP ও UDP।
TLS/SSL-এর মাধ্যমে syslog মেসেজ পাঠানোর জন্য, শুধুমাত্র TCP কাজ করে। |
build |
InvalidPort |
MessageLogging নীতি প্রয়োগ করা না গেলে এই সমস্যা হতে পারে, যদি পোর্ট নম্বরটি
<Port> এলিমেন্টের মধ্যে নির্দিষ্ট করা না থাকে অথবা সেটি সঠিক না হয়। পোর্ট নম্বরটি অবশ্যই শূন্যের থেকে বড়
পূর্ণসংখ্যা হতে হবে। |
build |
ফল্ট ভেরিয়েবল
রানটাইম এরর হলে এই ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল সমস্যার নাম, যা উপরে দেওয়া রানটাইম সংক্রান্ত সমস্যা সারণীতে তালিকাভুক্ত করা আছে। ফল্ট কোডের শেষ অংশটি হল ফল্টের নাম। | fault.name Matches "StepDefinitionExecutionFailed" |
messagelogging.policy_name.failed |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | messagelogging.ML-LogMessages.failed = true |
সমস্যার উত্তরের উদাহরণ
{
"fault":{
"detail":{
"errorcode":"steps.messagelogging.StepDefinitionExecutionFailed"
},
"faultstring":"Execution failed"
}
}ভুল নিয়মের উদাহরণ
<FaultRule name="MessageLogging">
<Step>
<Name>ML-LogMessages</Name>
<Condition>(fault.name Matches "StepDefinitionExecutionFailed") </Condition>
</Step>
<Condition>(messagelogging.ML-LogMessages.failed = true) </Condition>
</FaultRule>OASValidation নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ | |
|---|---|---|---|
steps.oasvalidation.Failed |
500 | প্রদান করা OpenAPI স্পেসিফিকেশন অনুযায়ী অনুরোধ মেসেজের বডি যাচাই করা যাচ্ছে না। | |
steps.oasvalidation.SourceMessageNotAvailable |
500 |
নীতির |
|
steps.oasvalidation.NotMessageVariable |
500 |
|
build |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | কারণ | |
|---|---|---|
ResourceDoesNotExist |
<OASResource> এলিমেন্টে উল্লেখ করা OpenAPI স্পেসিফিকেশন নেই।
|
|
ResourceCompileFailed |
ডেপ্লয়মেন্টে অন্তর্ভুক্ত OpenAPI স্পেসিফিকেশনে এমন কিছু সমস্যা রয়েছে যার জন্য এটি কম্পাইল করা যাচ্ছে না। সাধারণত এর অর্থ হল, স্পেসিফিকেশনটি একটি সুগঠিত OpenAPI স্পেসিফিকেশন ৩.০ নয়। | |
BadResourceURL |
<OASResource> এলিমেন্টে উল্লেখ করা OpenAPI স্পেসিফিকেশন প্রসেস করা যাচ্ছে না। ফাইলটি JSON বা YAML ফাইল না হলে অথবা ফাইলের URL সঠিকভাবে নির্দিষ্ট করা না থাকলে এটি হতে পারে।
|
ফল্ট ভেরিয়েবল
এই নীতি রানটাইমে কোনও সমস্যা ট্রিগার করলে, এইসব ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল সমস্যার নাম, যা উপরে দেওয়া রানটাইম সংক্রান্ত সমস্যা সারণীতে তালিকাভুক্ত করা আছে। ফল্ট কোডের শেষ অংশটি হল ফল্টের নাম। | fault.name Matches "ResourceDoesNotExist" |
oasvalidation.policy_name.failed |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | oasvalidation.myoaspolicy.failed = true |
PopulateCache নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | এটি তখন ঘটে যখন |
|---|---|---|
policies.populatecache.EntryCannotBeCached |
500 | কোনও এন্ট্রি ক্যাশে করা যাবে না। ক্যাশে করা মেসেজ অবজেক্টটি Serializable ক্লাসের ইনস্ট্যান্স নয়। |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | কারণ | এর সমাধান করুন |
|---|---|---|
InvalidCacheResourceReference |
API প্রক্সি যেখানে ডেপ্লয় করা হচ্ছে সেই এনভায়রনমেন্টে <CacheResource> এলিমেন্ট না থাকলে, PopulateCache নীতিতে
সেটি সেট করা হলে এই সমস্যা হয়। |
build |
CacheNotFound |
<CacheResource> এলিমেন্টে উল্লেখ করা ক্যাশে
নেই। |
build |
ফল্ট ভেরিয়েবল
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, এইসব ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল সমস্যার নাম, যা উপরে দেওয়া রানটাইম সংক্রান্ত সমস্যা সারণীতে তালিকাভুক্ত করা আছে। ফল্ট কোডের শেষ অংশটি হল ফল্টের নাম। | fault.name = "EntryCannotBeCached" |
populatecache.policy_name.failed |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | populatecache.POP-CACHE-1.failed = true |
সমস্যার উত্তরের উদাহরণ
{ "fault": { "faultstring": "[entry] can not be cached. Only serializable entries are cached.", "detail": { "errorcode": "steps.populatecache.EntryCannotBeCached" } } }
ভুল নিয়মের উদাহরণ
<FaultRule name="Populate Cache Fault">
<Step>
<Name>AM-EntryCannotBeCached</Name>
<Condition>(fault.name Matches "EntryCannotBeCached") </Condition>
</Step>
<Condition>(populatecache.POP-CACHE-1.failed = true) </Condition>
</FaultRule>LookupCache নীতি
এই বিভাগে ত্রুটির বার্তা এবং ফ্লো ভেরিয়েবলগুলি বর্ণনা করে যেগুলি সেট করা হয় যখন এই নীতিটি একটি ত্রুটি ট্রিগার করে৷ আপনি একটি প্রক্সির জন্য ত্রুটির নিয়ম তৈরি করছেন কিনা তা জানার জন্য এই তথ্যটি গুরুত্বপূর্ণ৷ আরও জানতে, নীতিগত ত্রুটি এবং হ্যান্ডলিং ফল্ট সম্পর্কে আপনার যা জানা দরকার তা দেখুন৷
ত্রুটি কোড উপসর্গ
N/A
রানটাইম ত্রুটি
এই নীতি কোনো রানটাইম ত্রুটি নিক্ষেপ না.
স্থাপনার ত্রুটি
আপনি যখন এই নীতি সম্বলিত একটি প্রক্সি স্থাপন করেন তখন এই ত্রুটিগুলি ঘটতে পারে৷
| ত্রুটির নাম | কারণ | ঠিক করুন |
|---|---|---|
InvalidCacheResourceReference | এই ত্রুটিটি ঘটে যদি <CacheResource> উপাদানটি এমন একটি নামে সেট করা হয় যা API প্রক্সি স্থাপন করা হয় এমন পরিবেশে বিদ্যমান নেই। | build |
InvalidTimeout | যদি <CacheLookupTimeoutInSeconds> উপাদানটি একটি ঋণাত্মক সংখ্যায় সেট করা থাকে, তাহলে API প্রক্সির স্থাপনা ব্যর্থ হয়। | build |
CacheNotFound | ত্রুটি বার্তায় উল্লিখিত নির্দিষ্ট ক্যাশে একটি নির্দিষ্ট বার্তা প্রসেসর উপাদানে তৈরি না হলে এই ত্রুটি ঘটে। | build |
ফল্ট ভেরিয়েবল
N/A
উদাহরণ ত্রুটি প্রতিক্রিয়া
N/A
InvalidateCache নীতি
এই বিভাগে ত্রুটির বার্তা এবং ফ্লো ভেরিয়েবলগুলি বর্ণনা করে যেগুলি সেট করা হয় যখন এই নীতিটি একটি ত্রুটি ট্রিগার করে৷ আপনি একটি প্রক্সির জন্য ত্রুটির নিয়ম তৈরি করছেন কিনা তা জানার জন্য এই তথ্যটি গুরুত্বপূর্ণ৷ আরও জানতে, নীতিগত ত্রুটি এবং হ্যান্ডলিং ফল্ট সম্পর্কে আপনার যা জানা দরকার তা দেখুন৷
ত্রুটি কোড উপসর্গ
N/A
রানটাইম ত্রুটি
এই নীতি কোনো রানটাইম ত্রুটি নিক্ষেপ না.
স্থাপনার ত্রুটি
আপনি যখন এই নীতি সম্বলিত একটি প্রক্সি স্থাপন করেন তখন এই ত্রুটিগুলি ঘটতে পারে৷
| ত্রুটির নাম | কারণ | ঠিক করুন |
|---|---|---|
InvalidCacheResourceReference | এই ত্রুটিটি ঘটে যদি <CacheResource> InvalidateCache নীতিতে উপাদানটি এমন একটি নামে সেট করা হয় যা পরিবেশে যেখানে API প্রক্সি স্থাপন করা হচ্ছে সেখানে বিদ্যমান নেই৷ | build |
CacheNotFound | ত্রুটি বার্তায় উল্লিখিত নির্দিষ্ট ক্যাশে একটি নির্দিষ্ট বার্তা প্রসেসর উপাদানে তৈরি না হলে এই ত্রুটি ঘটে। | build |
ফল্ট ভেরিয়েবল
N/A
উদাহরণ ত্রুটি প্রতিক্রিয়া
N/A
ResponseCache নীতি
এই নীতি কোনও সমস্যার ট্রিগার করলে, এই বিভাগে সমস্যার মেসেজ ও ফ্লো ভেরিয়েবল সম্পর্কে বর্ণনা করা হয়েছে। আপনি যদি কোনও প্রক্সির জন্য ফল্ট রুল তৈরি করেন, তাহলে এই তথ্য জানা গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
সমস্যা থাকা কোডের উপসর্গ
প্রযোজ্য নয়
রানটাইম সমস্যা
এই নীতি কোনও রানটাইম এরর দেখায় না।
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | কারণ | এর সমাধান করুন |
|---|---|---|
InvalidTimeout |
ResponseCache নীতির
<CacheLookupTimeoutInSeconds> এলিমেন্ট নেগেটিভ সংখ্যায় সেট করা থাকলে,
API প্রক্সি ডিপ্লয় করা যায় না। |
build |
InvalidCacheResourceReference |
ResponseCache নীতির <CacheResource> এলিমেন্ট এমন নামে সেট করা থাকলে এই সমস্যা হয় যা API প্রক্সি যেখানে ডেপ্লয় করা হচ্ছে সেই এনভায়রনমেন্টে নেই।
|
build |
ResponseCacheStepAttachmentNotAllowedReq |
কোনও API প্রক্সির ফ্লোয়ের মধ্যে একাধিক অনুরোধ পাথে একই ResponseCache নীতি অ্যাটাচ করা থাকলে এই সমস্যা হয়। | build |
ResponseCacheStepAttachmentNotAllowedResp |
কোনও API প্রক্সির মধ্যে একাধিক রেসপন্স পাথে একই ResponseCache নীতি অ্যাটাচ করা থাকলে এই সমস্যা হয়। | build |
InvalidMessagePatternForErrorCode |
ResponseCache নীতির মধ্যে <SkipCacheLookup> অথবা <SkipCachePopulation>
এলিমেন্টে ভুল কন্ডিশন থাকলে এই সমস্যা হয়। |
build |
CacheNotFound |
সমস্যার মেসেজে উল্লেখ করা নির্দিষ্ট ক্যাশে যদি নির্দিষ্ট মেসেজ প্রসেসর কম্পোনেন্টে তৈরি না হয়ে থাকে, তাহলে এই সমস্যাটি হয়। | build |
ফল্ট ভেরিয়েবল
প্রযোজ্য নয়
সমস্যার উত্তরের উদাহরণ
প্রযোজ্য নয়
OAuthV2 নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ | অপারেশন থেকে পাওয়া |
|---|---|---|---|
steps.oauth.v2.access_token_expired |
401 | অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়ে গেছে। |
VerifyAccessToken |
steps.oauth.v2.access_token_not_approved |
401 | অ্যাক্সেস টোকেন প্রত্যাহার করা হয়েছে। | VerifyAccessToken |
steps.oauth.v2.apiresource_doesnot_exist |
401 | অ্যাক্সেস টোকেনের সাথে যুক্ত কোনও API প্রোডাক্টে অনুরোধ করা রিসোর্সটি নেই। | VerifyAccessToken |
steps.oauth.v2.FailedToResolveAccessToken |
500 | নীতিটি
<AccessToken> এলিমেন্টে নির্দিষ্ট করা ভেরিয়েবলে অ্যাক্সেস টোকেন খুঁজে পাবে বলে আশা করা হয়েছিল, কিন্তু ভেরিয়েবলটি সমাধান করা যায়নি। |
GenerateAccessToken |
steps.oauth.v2.FailedToResolveAuthorizationCode |
500 | নীতিটি
<Code> এলিমেন্টে নির্দিষ্ট করা একটি ভেরিয়েবলে একটি অনুমোদন কোড খুঁজে পাওয়ার কথা, কিন্তু ভেরিয়েবলটি সমাধান করা যায়নি। |
GenerateAuthorizationCode |
steps.oauth.v2.FailedToResolveClientId |
500 | নীতিটি
<ClientId> এলিমেন্টে নির্দিষ্ট করা ভেরিয়েবলে ক্লায়েন্ট আইডি খুঁজে পাওয়ার কথা, কিন্তু ভেরিয়েবলটি সমাধান করা যায়নি। |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.FailedToResolveRefreshToken |
500 | নীতিটি
<RefreshToken> এলিমেন্টে নির্দিষ্ট করা ভেরিয়েবলে একটি রিফ্রেশ টোকেন খুঁজে পাওয়ার কথা, কিন্তু ভেরিয়েবলটি সমাধান করা যায়নি। |
RefreshAccessToken |
steps.oauth.v2.FailedToResolveToken |
500 | নীতিটি
<Tokens> এলিমেন্টে নির্দিষ্ট করা ভেরিয়েবলে একটি টোকেন খুঁজে পাবে বলে আশা করা হয়েছিল, কিন্তু ভেরিয়েবলটি সমাধান করা যায়নি। |
ValidateToken |
steps.oauth.v2.InsufficientScope |
403 | অনুরোধে দেখানো অ্যাক্সেস টোকেনের সুযোগ, যাচাই করা অ্যাক্সেস টোকেন নীতিতে নির্দিষ্ট করা সুযোগের সাথে মেলে না। স্কোপ সম্পর্কে জানতে, OAuth2 স্কোপের সাথে কাজ করা দেখুন। | VerifyAccessToken |
steps.oauth.v2.invalid_access_token |
401 | ক্লায়েন্টের পাঠানো অ্যাক্সেস টোকেনটি সঠিক নয়। | VerifyAccessToken |
steps.oauth.v2.invalid_client |
401 |
নীতির মনে রাখবেন: |
GenerateAccessToken RefreshAccessToken |
steps.oauth.v2.InvalidRequest |
400 | এই সমস্যার নাম একাধিক ভিন্ন ধরনের সমস্যার জন্য ব্যবহার করা হয়, সাধারণত অনুরোধে পাঠানো
প্যারামিটার অনুপস্থিত বা ভুল হলে এই সমস্যা হয়। <GenerateResponse>-এর মান false হলে,
নিচে বর্ণিত ফল্ট ভেরিয়েবল ব্যবহার করে ফল্ট নেম ও কারণের মতো
সমস্যার বিবরণ পান। |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.InvalidAccessToken |
401 | অনুমোদনকারী হেডারে "Bearer" শব্দটি নেই, যা প্রয়োজন। যেমন: Authorization: Bearer your_access_token |
VerifyAccessToken |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 |
অ্যাক্সেস টোকেনের সাথে যুক্ত প্রোডাক্টে API প্রক্সি নেই। পরামর্শ: অ্যাক্সেস টোকেনের সাথে যুক্ত প্রোডাক্ট সঠিকভাবে কনফিগার করা হয়েছে কিনা তা নিশ্চিত করুন। যেমন, রিসোর্স পাথে ওয়াইল্ডকার্ড ব্যবহার করলে, ওয়াইল্ডকার্ড সঠিকভাবে ব্যবহার করা হচ্ছে কিনা তা নিশ্চিত করুন। আরও বিবরণের জন্য API প্রোডাক্ট তৈরি করুন দেখুন। এই সমস্যার কারণ সম্পর্কে আরও নির্দেশিকা পেতে, এই Apigee কমিউনিটি পোস্ট দেখুন। |
VerifyAccessToken |
steps.oauth.v2.InvalidClientIdentifier |
500 |
নীতির |
GenerateAccessToken |
steps.oauth.v2.InvalidParameter |
500 | নীতিতে অবশ্যই অ্যাক্সেস টোকেন বা অনুমোদন কোড উল্লেখ করতে হবে, তবে দুটিই উল্লেখ করা যাবে না। | GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.InvalidTokenType |
500 | <Tokens>/<Token> এলিমেন্টে আপনাকে টোকেনের
ধরন (যেমন, refreshtoken) নির্দিষ্ট করতে হবে। ক্লায়েন্ট ভুল ধরন পাস করলে, এই
সমস্যাটি দেখানো হয়। |
ValidateToken InvalidateToken |
steps.oauth.v2.MissingParameter |
500 | উত্তর দেওয়ার ধরন হল token, কিন্তু কোনও গ্র্যান্টের ধরন নির্দিষ্ট করা নেই। |
GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.UnSupportedGrantType |
500 |
ক্লায়েন্ট এমন গ্র্যান্টের ধরন নির্দিষ্ট করেছে যা নীতিতে কাজ করে না (এটি <SupportedGrantTypes> এলিমেন্টে তালিকাভুক্ত নেই)। মনে রাখবেন: বর্তমানে একটি সমস্যা রয়েছে যেখানে অসমর্থিত গ্র্যান্টের ধরন সংক্রান্ত সমস্যা সঠিকভাবে দেখানো হচ্ছে না। অননুমোদিত গ্র্যান্টের ধরন সংক্রান্ত সমস্যা হলে, প্রক্সি প্রত্যাশিতভাবে সমস্যার ফ্লোতে প্রবেশ করে না। |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | কারণ |
|---|---|
InvalidValueForExpiresIn |
|
InvalidValueForRefreshTokenExpiresIn |
<RefreshTokenExpiresIn> এলিমেন্টের জন্য, সঠিক মান হল পজিটিভ
পূর্ণসংখ্যা এবং -1। |
InvalidGrantType |
<SupportedGrantTypes>
এলিমেন্টে ভুল গ্র্যান্টের ধরন উল্লেখ করা হয়েছে। বৈধ ধরনের তালিকার জন্য নীতি রেফারেন্স দেখুন। |
ExpiresInNotApplicableForOperation |
<Operations> এলিমেন্টে নির্দিষ্ট করা অপারেশনগুলি যেন মেয়াদ শেষ হয়ে যাওয়া সংক্রান্ত সুবিধা দেয়, তা নিশ্চিত করুন। যেমন, VerifyToken অপারেশনটি তা করে না। |
RefreshTokenExpiresInNotApplicableForOperation |
<Operations> এলিমেন্টে উল্লেখ করা অপারেশনগুলি রিফ্রেশ টোকেনের মেয়াদ শেষ হওয়া সম্পর্কিত কাজ করতে পারে কিনা তা নিশ্চিত করুন। যেমন, VerifyToken অপারেশনটি তা করে না। |
GrantTypesNotApplicableForOperation |
<SupportedGrantTypes>-এ উল্লেখ করা গ্র্যান্টের ধরন নির্দিষ্ট অপারেশনের জন্য কাজ করে কিনা তা ভালোভাবে দেখে নিন। |
OperationRequired |
আপনাকে অবশ্যই মনে রাখবেন: |
InvalidOperation |
আপনাকে অবশ্যই এই নীতিতে
মনে রাখবেন: |
TokenValueRequired |
আপনাকে অবশ্যই <Tokens> এলিমেন্টে
<Token> টোকেন ভ্যালু উল্লেখ করতে হবে। |
ফল্ট ভেরিয়েবল
এই নীতি রানটাইমে কোনও সমস্যা ট্রিগার করলে, এইসব ভেরিয়েবল সেট করা হয়।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল সমস্যার নাম, যা উপরে দেওয়া রানটাইম সংক্রান্ত সমস্যা সারণীতে তালিকাভুক্ত করা আছে। ফল্ট কোডের শেষ অংশটি হল ফল্টের নাম। | fault.name = "InvalidRequest" |
oauthV2.policy_name.failed |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | oauthV2.GenerateAccesstoken.failed = true |
oauthV2.policy_name.fault.name |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | oauthV2.GenerateAccesstoken.fault.name = InvalidRequest
মনে রাখবেন: VerifyAccessToken অপারেশনের জন্য, ফল্টের নামের মধ্যে এই প্রত্যয়টি অন্তর্ভুক্ত থাকে: |
oauthV2.policy_name.fault.cause |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | oauthV2.GenerateAccesstoken.cause = Required param : grant_type |
সমস্যার উত্তরের উদাহরণ
<GenerateResponse>
এলিমেন্ট true হলে, এই উত্তরগুলি ক্লায়েন্টকে ফেরত পাঠানো হয়।
<GenerateResponse> সত্য হলে, টোকেন ও কোড জেনারেট করা অপারেশনগুলির জন্য নীতিটি
এই ফর্ম্যাটে সমস্যা ফেরত দেয়। সম্পূর্ণ তালিকার জন্য, দেখুন
OAuth HTTP সমস্যা
প্রতিক্রিয়া রেফারেন্স।
{"ErrorCode" : "invalid_client", "Error" :"ClientId is Invalid"}<GenerateResponse> সত্য হলে, যাচাই ও বৈধতা সংক্রান্ত অপারেশনের জন্য নীতি এই ফর্ম্যাটে
সমস্যা ফেরত দেয়। সম্পূর্ণ তালিকার জন্য, OAuth HTTP সমস্যা
প্রতিক্রিয়া রেফারেন্স দেখুন।
{ { "fault":{ "faultstring":"Invalid Access Token", "detail":{ "errorcode":"keymanagement.service.invalid_access_token" } } }
ভুল নিয়মের উদাহরণ
<FaultRule name=OAuthV2 Faults">
<Step>
<Name>AM-InvalidClientResponse</Name>
<Condition>(fault.name = "invalid_client") OR (fault.name = "InvalidClientIdentifier")</Condition>
</Step>
<Step>
<Name>AM-InvalidTokenResponse</Name>
<Condition>(fault.name = "invalid_access_token")</Condition>
</Step>
<Condition>(oauthV2.failed = true) </Condition>
</FaultRule>GetOAuthV2Info নীতি
এই বিভাগটি ফল্ট কোড এবং ত্রুটি বার্তাগুলি বর্ণনা করে যেগুলি ফেরত দেওয়া হয় এবং ত্রুটি ভেরিয়েবলগুলি যেগুলি এজ দ্বারা সেট করা হয় যখন এই নীতিটি একটি ত্রুটি ট্রিগার করে৷ এই তথ্যটি জানা গুরুত্বপূর্ণ যে আপনি ত্রুটিগুলি পরিচালনা করার জন্য ত্রুটির নিয়ম তৈরি করছেন কিনা। আরও জানতে, নীতিগত ত্রুটি এবং হ্যান্ডলিং ফল্ট সম্পর্কে আপনার যা জানা দরকার তা দেখুন৷
রানটাইম ত্রুটি
নীতি কার্যকর করার সময় এই ত্রুটিগুলি ঘটতে পারে৷ নীচে দেখানো ত্রুটির নামগুলি হল সেই স্ট্রিংগুলি যা একটি ত্রুটি ঘটলে fault.name ভেরিয়েবলের জন্য নির্ধারিত হয়। আরও বিশদ বিবরণের জন্য নীচের ফল্ট ভেরিয়েবল বিভাগটি দেখুন।
| ফল্ট কোড | HTTP স্থিতি | কারণ |
|---|---|---|
steps.oauth.v2.access_token_expired | 500 | পলিসিতে পাঠানো অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়ে গেছে। |
steps.oauth.v2.authorization_code_expired | 500 | পলিসিতে পাঠানো অনুমোদন কোডের মেয়াদ শেষ হয়ে গেছে। |
steps.oauth.v2.invalid_access_token | 500 | নীতিতে পাঠানো অ্যাক্সেস টোকেনটি অবৈধ৷ |
steps.oauth.v2.invalid_client-invalid_client_id | 500 | পলিসিতে পাঠানো ক্লায়েন্ট আইডিটি অবৈধ। |
steps.oauth.v2.invalid_refresh_token | 500 | নীতিতে পাঠানো রিফ্রেশ টোকেনটি অবৈধ৷ |
steps.oauth.v2.invalid_request-authorization_code_invalid | 500 | নীতিতে পাঠানো অনুমোদন কোডটি অবৈধ। |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound | 401 | এই ত্রুটির সমস্যা সমাধান সম্পর্কে তথ্যের জন্য দয়া করে এই Apigee কমিউনিটি পোস্টটি দেখুন৷ |
steps.oauth.v2.refresh_token_expired | 500 | পলিসিতে পাঠানো রিফ্রেশ টোকেনের মেয়াদ শেষ হয়ে গেছে। |
স্থাপনার ত্রুটি
স্থাপনার ত্রুটি সম্পর্কে তথ্যের জন্য UI এ রিপোর্ট করা বার্তাটি পড়ুন।
ফল্ট ভেরিয়েবল
যখন এই নীতি রানটাইমে একটি ত্রুটি ট্রিগার করে তখন এই ভেরিয়েবলগুলি সেট করা হয়৷
| ভেরিয়েবল | যেখানে | উদাহরণ |
|---|---|---|
fault.name=" fault_name " | fault_name হল ফল্টের নাম, যা উপরে রানটাইম ত্রুটির সারণীতে তালিকাভুক্ত করা হয়েছে। ফল্ট নামটি ফল্ট কোডের শেষ অংশ। | fault.name Matches "IPDeniedAccess" |
oauthV2. policy_name .failed | policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যা ত্রুটিটি ফেলেছে। | oauthV2.GetTokenInfo.failed = true |
oauthV2. policy_name .fault.name | policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যা ত্রুটিটি ফেলেছে। | oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id |
oauthV2. policy_name .fault.cause | policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যা ত্রুটিটি ফেলেছে। | oauthV2.GetTokenInfo.cause = ClientID is Invalid |
উদাহরণ ত্রুটি প্রতিক্রিয়া
{ "fault":{ "faultstring":"ClientId is Invalid", "detail":{ "errorcode":"keymanagement.service.invalid_client-invalid_client_id" } } }
উদাহরণ দোষ নিয়ম
<FaultRule name="OAuthV2 Faults">
<Step>
<Name>AM-InvalidClientIdResponse</Name>
</Step>
<Condition>(fault.name = "invalid_client-invalid_client_id")</Condition>
</FaultRule>SetOAuthV2Info নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ |
|---|---|---|
steps.oauth.v2.access_token_expired |
500 | নীতিতে পাঠানো অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়ে গেছে। |
steps.oauth.v2.invalid_access_token |
500 | নীতিতে পাঠানো অ্যাক্সেস টোকেনটি সঠিক নয়। |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | এই সমস্যার সমাধান সম্পর্কে তথ্য পেতে, এই Apigee কমিউনিটি পোস্ট দেখুন। |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
ডেপ্লয়মেন্ট সংক্রান্ত সমস্যার ব্যাপারে তথ্য পেতে UI-তে রিপোর্ট করা মেসেজ দেখুন।
ফল্ট ভেরিয়েবল
এই নীতি রানটাইমে কোনও সমস্যা ট্রিগার করলে, এইসব ভেরিয়েবল সেট করা হয়।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল সমস্যার নাম, যা উপরে দেওয়া রানটাইম সংক্রান্ত সমস্যা সারণীতে তালিকাভুক্ত করা আছে। ফল্ট কোডের শেষ অংশটি হল ফল্টের নাম। | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | oauthV2.SetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | oauthV2.SetTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | oauthV2.SetTokenInfo.cause = Invalid Access Token |
সমস্যার উত্তরের উদাহরণ
{
"fault": {
"faultstring": "Invalid Access Token",
"detail": {
"errorcode": "keymanagement.service.invalid_access_token"
}
}
}ভুল নিয়মের উদাহরণ
<FaultRule name=SetOAuthV2Info Faults">
<Step>
<Name>AM-InvalidTokenResponse</Name>
<Condition>(fault.name = "invalid_access_token")</Condition>
</Step>
<Condition>(oauthV2.failed = true) </Condition>
</FaultRule>DeleteOAuthV2Info নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ |
|---|---|---|
steps.oauth.v2.invalid_access_token |
401 | নীতিতে পাঠানো অ্যাক্সেস টোকেনটি সঠিক নয়। |
steps.oauth.v2.invalid_request-authorization_code_invalid |
401 | নীতিতে পাঠানো অনুমোদন কোডটি সঠিক নয়। |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | এই সমস্যার সমাধান সম্পর্কে তথ্য পেতে, এই Apigee কমিউনিটি পোস্ট দেখুন। |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
ডেপ্লয়মেন্ট সংক্রান্ত সমস্যার ব্যাপারে তথ্য পেতে UI-তে রিপোর্ট করা মেসেজ দেখুন।
ফল্ট ভেরিয়েবল
এই নীতি রানটাইমে কোনও সমস্যা ট্রিগার করলে, এইসব ভেরিয়েবল সেট করা হয়।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল সমস্যার নাম, যা উপরে দেওয়া রানটাইম সংক্রান্ত সমস্যা সারণীতে তালিকাভুক্ত করা আছে। ফল্ট কোডের শেষ অংশটি হল ফল্টের নাম। | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | oauthV2.DeleteTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | oauthV2.DeleteTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | oauthV2.DeleteTokenInfo.cause = Invalid Access Token |
সমস্যার উত্তরের উদাহরণ
{
"fault": {
"faultstring": "Invalid Access Token",
"detail": {
"errorcode": "keymanagement.service.invalid_access_token"
}
}
}ভুল নিয়মের উদাহরণ
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="DeleteOAuthV2Info_Faults">
<Step>
<Name>AM-InvalidTokenResponse</Name>
</Step>
<Condition>(fault.name = "invalid_access_token")</Condition>
</FaultRule>OAuthv1.0a নীতি
OAuthV1 নীতির ধরন নিম্নলিখিত ত্রুটি কোডগুলিকে সংজ্ঞায়িত করে৷
OAuth-সম্পর্কিত HTTP ত্রুটি কোডগুলির জন্য, OAuth HTTP ত্রুটি প্রতিক্রিয়া রেফারেন্স দেখুন।
| ভুল সংকেত | বার্তা |
|---|---|
AppKeyNotResolved | Could not resolve the app key with variable {0} |
ConsumerKeyNotResolved | Could not resolve the consumer key with variable {0} |
RequestTokenNotResolved | Could not resolve the request token with the variable {0} |
AccessTokenNotResolved | Could not resolve the access token with the variable {0} |
ResponseGenerationError | Error while generating response : {0} |
UnableToDetermineOperation | Unable to determine an operation for stepDefinition {0} |
UnableToResolveOAuthConfig | Unable to resolve the OAuth configuration for {0} |
AtLeastOneParamRequired | At least one of AccessToken, RequestToken or ConsumerKey must be specified in stepDefinition {0} |
SpecifyValueOrRefReqToken | Specify Request Token as value or ref in stepDefinition {0} |
SpecifyValueOrRefAccToken | Specify Access Token as value or ref in stepDefinition {0} |
SpecifyValueOrRefConKey | Specify Consumer Key as value or ref in stepDefinition {0} |
SpecifyValueOrRefAppKey | Specify App Key as value or ref in stepDefinition {0} |
ExpiresInNotApplicableForOperation | ExpiresIn element is not valid for operation {0} |
InvalidValueForExpiresIn | Invalid value for ExpiresIn element for operation {0} |
FailedToFetchApiProduct | Failed to fetch api product for key {0} |
InvalidTokenType | Valid token types : {0}, Invalid toke type {1} in stepDefinition {2} |
TokenValueRequired | Token value is required in stepDefinition {0} |
FailedToResolveRealm | Failed to resolve realm {0} |
GetOAuthV1Info নীতি
Get OAuth v1.0a তথ্য নীতির জন্য কোনো ত্রুটি কোড নির্দিষ্ট করা নেই।
DeleteOAuthV1Info নীতি
সফল হলে, নীতি একটি 200 স্ট্যাটাস প্রদান করে।
ব্যর্থ হলে, নীতিটি 404 প্রদান করে এবং নিম্নলিখিতগুলির অনুরূপ আউটপুট দেয় (আপনি একটি অ্যাক্সেস টোকেন, অনুরোধ টোকেন বা যাচাইকারী মুছে ফেলছেন কিনা তার উপর নির্ভর করে):
HTTP/1.1 404 Not Found Content-Type: application/json Content-Length: 144 Connection: keep-alive {"fault":{"faultstring":"Invalid Access Token","detail":{"errorcode":"keymanagement.service.invalid_request-access_token_invalid"}}}
PythonScript নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর দ্বারা সেট করা ফল্ট কোড, সমস্যার মেসেজ এবং ফল্ট ভেরিয়েবল এই বিভাগে বর্ণনা করা হয়েছে। আপনি যদি সমস্যা সমাধানের জন্য সমস্যা সংক্রান্ত নিয়ম তৈরি করেন, তাহলে এই তথ্য জানা গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ | এর সমাধান করুন |
|---|---|---|---|
steps.script.ScriptEvaluationFailed |
500 | PythonScript নীতি বিভিন্ন ধরনের ScriptExecutionFailed সমস্যা দেখাতে পারে। সাধারণত দেখা যায় এমন সমস্যার মধ্যে NameError ও ZeroDivisionError পড়ে। | build |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | কারণ | এর সমাধান করুন |
|---|---|---|
InvalidResourceUrlFormat |
PythonScript নীতির <ResourceURL> বা
<IncludeURL> এলিমেন্টের মধ্যে নির্দিষ্ট করা রিসোর্স URL-এর ফর্ম্যাট ভুল হলে, API প্রক্সি ডেপ্লয় করা যায় না। |
build |
InvalidResourceUrlReference |
<ResourceURL> বা <IncludeURL> এলিমেন্ট
যদি এমন PythonScript ফাইলের দিকে নির্দেশ করে যা নেই, তাহলে API প্রক্সি ডেপ্লয় করা যায় না।
রেফার করা সোর্স ফাইলটি API প্রক্সি, এনভায়রনমেন্ট বা অর্গানাইজেশন লেভেলে থাকতে হবে। |
build |
ফল্ট ভেরিয়েবল
এই নীতি রানটাইমে কোনও সমস্যা ট্রিগার করলে, এইসব ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল সমস্যার নাম, যা উপরে দেওয়া রানটাইম সংক্রান্ত সমস্যা সারণীতে তালিকাভুক্ত করা আছে। ফল্ট কোডের শেষ অংশটি হল ফল্টের নাম। | fault.name Matches "ScriptExecutionFailed" |
pythonscript.policy_name.failed |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | pythonscript.PythonScript-1.failed = true |
সমস্যার উত্তরের উদাহরণ
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Pythonscript runtime error: "ReferenceError: "status" is not defined.\"", "detail": { "errorcode": "steps.script.ScriptExecutionFailed" } } }
ভুল নিয়মের উদাহরণ
<FaultRule name="PythonScript Policy Faults"> <Step> <Name>AM-CustomErrorResponse</Name> <Condition>(fault.name Matches "ScriptExecutionFailed") </Condition> </Step> <Condition>(pythonscript.PythonScript-1.failed = true) </Condition> </FaultRule>
কোটা সংক্রান্ত নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ | এর সমাধান করুন |
|---|---|---|---|
policies.ratelimit.FailedToResolveQuotaIntervalReference |
500 | কোটা নীতিতে <Interval> এলিমেন্ট নির্দিষ্ট করা না থাকলে এটি ঘটে। এই এলিমেন্ট
বাধ্যতামূলক এবং কোটার ক্ষেত্রে প্রযোজ্য সময়ের ব্যবধান নির্দিষ্ট করতে এটি ব্যবহার করা হয়। <TimeUnit> এলিমেন্টে যেভাবে উল্লেখ করা হয়েছে, সেই অনুযায়ী সময়সীমা মিনিট, ঘণ্টা, দিন, সপ্তাহ বা মাস হতে পারে। |
build |
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference |
500 | কোটা নীতিতে <TimeUnit> এলিমেন্ট নির্দিষ্ট করা না থাকলে এটি ঘটে। এই এলিমেন্ট
বাধ্যতামূলক এবং কোটার ক্ষেত্রে প্রযোজ্য সময়ের একক নির্দিষ্ট করতে ব্যবহার করা হয়। সময়সীমা
মিনিট, ঘণ্টা, দিন, সপ্তাহ বা মাস হতে পারে। |
build |
policies.ratelimit.InvalidMessageWeight |
500 | ফ্লো ভেরিয়েবলের মাধ্যমে নির্দিষ্ট করা <MessageWeight> এলিমেন্টের ভ্যালু
ভুল হলে (পূর্ণসংখ্যা নয় এমন ভ্যালু) এটি ঘটে। |
build |
policies.ratelimit.QuotaViolation |
500 | কোটার সর্বাধিক সীমা পেরিয়ে গেছে। | প্রযোজ্য নয় |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
| সমস্যার নাম | কারণ | এর সমাধান করুন |
|---|---|---|
InvalidQuotaInterval |
<Interval> এলিমেন্টে উল্লেখ করা কোটা ইন্টারভ্যাল
পূর্ণসংখ্যা না হলে, API প্রক্সি ডেপ্লয় করা যায় না। যেমন, <Interval> এলিমেন্টে কোটা ইন্টারভ্যাল
০.১ হিসেবে নির্দিষ্ট করা থাকলে, API প্রক্সি
ডেপ্লয় করা যায় না।
|
build |
InvalidQuotaTimeUnit |
<TimeUnit> এলিমেন্টে উল্লেখ করা সময় একক কাজ না করলে,
API প্রক্সি ডিপ্লয় করা যায় না। যেসব সময় একক কাজ করে সেগুলি হল minute,
hour, day, week এবং month।
|
build |
InvalidQuotaType |
<Quota>
এলিমেন্টে type অ্যাট্রিবিউট দ্বারা নির্দিষ্ট কোটার ধরন ভুল হলে, API প্রক্সি ডেপ্লয় করা যায় না। এইসব
কোটা ধরন কাজ করে: default, calendar, flexi এবং rollingwindow।
|
build |
InvalidStartTime |
<StartTime> এলিমেন্টে উল্লেখ করা সময়ের ফর্ম্যাট
ভুল হলে, API প্রক্সি ডেপ্লয় করা যায় না। সঠিক ফর্ম্যাট হল yyyy-MM-dd HH:mm:ss,
যা হল ISO 8601 তারিখ ও সময়ের ফর্ম্যাট। যেমন, <StartTime> এলিমেন্টে উল্লেখ করা সময় যদি
7-16-2017 12:00:00 হয়, তাহলে API প্রক্সি
ডিপ্লয় করা যাবে না।
|
build |
StartTimeNotSupported |
<StartTime> এলিমেন্ট নির্দিষ্ট করা থাকলে, যার কোটার ধরন
calendar ধরন নয়, তাহলে API প্রক্সি ডেপ্লয় করা যায় না। <StartTime> এলিমেন্টটি
শুধুমাত্র calendar কোটার ধরনের ক্ষেত্রে কাজ করে। যেমন, <Quota> এলিমেন্টে type অ্যাট্রিবিউট flexi বা rolling window হিসেবে সেট করা থাকলে, API প্রক্সি ডেপ্লয় করা যায় না।
|
build |
InvalidTimeUnitForDistributedQuota |
<Distributed> এলিমেন্ট true হিসেবে সেট করা থাকলে এবং <TimeUnit> এলিমেন্ট second হিসেবে সেট করা থাকলে
API প্রক্সি ডেপ্লয় করা যায় না। ডিস্ট্রিবিউট করা কোটার জন্য second timeunit সঠিক নয়।
|
build |
InvalidSynchronizeIntervalForAsyncConfiguration |
কোটা নীতির মধ্যে <SyncIntervalInSeconds> এলিমেন্টের জন্য নির্দিষ্ট করা ভ্যালু
<AsynchronousConfiguration> এলিমেন্টের মধ্যে শূন্যের থেকে কম হলে, API প্রক্সি ডেপ্লয়মেন্ট ব্যর্থ হয়। |
build |
InvalidAsynchronizeConfigurationForSynchronousQuota |
কোটা নীতিতে <AsynchronousConfiguration> এলিমেন্টের ভ্যালু true হিসেবে সেট করা থাকলে, যা
<AsynchronousConfiguration> এলিমেন্ট ব্যবহার করে অ্যাসিঙ্ক্রোনাস কনফিগারেশনও সংজ্ঞায়িত করে, তাহলে
API প্রক্সি ডেপ্লয় করা যায় না। |
build |
ফল্ট ভেরিয়েবল
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, এইসব ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল সমস্যার নাম, যা উপরে দেওয়া রানটাইম সংক্রান্ত সমস্যা সারণীতে তালিকাভুক্ত করা আছে। ফল্ট কোডের শেষ অংশটি হল ফল্টের নাম। | fault.name Matches "QuotaViolation" |
ratelimit.policy_name.failed |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | ratelimit.QT-QuotaPolicy.failed = true |
সমস্যার উত্তরের উদাহরণ
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.QuotaViolation" }, "faultstring":"Rate limit quota violation. Quota limit exceeded. Identifier : _default" } }
ভুল নিয়মের উদাহরণ
<FaultRules>
<FaultRule name="Quota Errors">
<Step>
<Name>JavaScript-1</Name>
<Condition>(fault.name Matches "QuotaViolation") </Condition>
</Step>
<Condition>ratelimit.Quota-1.failed=true</Condition>
</FaultRule>
</FaultRules>ResetQuota নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ | এর সমাধান করুন |
|---|---|---|---|
policies.resetquota.InvalidRLPolicy |
500 | রিসেট কোটা নীতির <Quota> এলিমেন্টে নির্দিষ্ট করা কোটা নীতি
API প্রক্সিতে সংজ্ঞায়িত করা হয়নি এবং তাই ফ্লো চলাকালীন উপলভ্য নয়। <Quota>
এলিমেন্টটি বাধ্যতামূলক এবং এটি সেই টার্গেট কোটা নীতিকে শনাক্ত করে যার কাউন্টারকে রিসেট কোটা নীতির মাধ্যমে আপডেট করতে হবে।
|
build |
policies.resetquota.FailedToResolveAllowCountRef |
প্রযোজ্য নয় | নীতির <Allow> এলিমেন্টে
অনুমোদিত সংখ্যা ধারণকারী ভেরিয়েবলের রেফারেন্স কোনও ভ্যালুতে সমাধান করা যায় না। এই এলিমেন্টটি বাধ্যতামূলক এবং কোটা কাউন্টার কমানোর জন্য
পরিমাণ নির্দিষ্ট করে। |
build |
policies.resetquota.FailedToResolveRLPolicy |
500 | <Quota> এলিমেন্টে ref অ্যাট্রিবিউট দ্বারা রেফারেন্স করা ভেরিয়েবল
রিজলভ করা যাচ্ছে না। |
build |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | কারণ | এর সমাধান করুন |
|---|---|---|
InvalidCount |
রিসেট কোটা নীতির <Allow> এলিমেন্টে নির্দিষ্ট করা কাউন্ট ভ্যালু পূর্ণসংখ্যা না হলে,
API প্রক্সি ডেপ্লয় করা যায় না।
|
build |
RaiseFault নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর দ্বারা সেট করা ফল্ট কোড, সমস্যার মেসেজ এবং ফল্ট ভেরিয়েবল এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, এগুলি দেখুন: নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং সমস্যার সমাধান করা।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ |
|---|---|---|
steps.raisefault.RaiseFault |
500 | ফল্ট স্ট্রিং দেখুন। |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
কোনওটিই নয়।
ফল্ট ভেরিয়েবল
রানটাইম এরর হলে এই ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল সমস্যার নাম, যা উপরে দেওয়া রানটাইম সমস্যার টেবিলে তালিকাভুক্ত করা আছে। ভুল কোডের শেষ অংশটি হল ভুলের নাম। | fault.name = "RaiseFault" |
raisefault.policy_name.failed |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যেটি সমস্যা তৈরি করেছে। | raisefault.RF-ThrowError.failed = true |
সমস্যার উত্তরের উদাহরণ
{ "fault":{ "detail":{ "errorcode":"steps.raisefault.RaiseFault" }, "faultstring":"Raising fault. Fault name: [name]" } }
RegularExpressionProtection নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর দ্বারা রিটার্ন করা সমস্যার কোড ও মেসেজ এবং ফল্ট ভেরিয়েবল
এই বিভাগে বর্ণনা করা হয়েছে। আপনি যদি ফল্ট হ্যান্ডেল করার জন্য ফল্ট রুল ডেভেলপ করে থাকেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ।
আপনি কোনও সমস্যা ক্যাপচার করতে এবং নিজের
কাস্টম সমস্যা তৈরি করতে চাইলে, নীতি সংক্রান্ত মূল এলিমেন্টে continueOnError="true" অ্যাট্রিবিউট সেট করুন।
আরও জানতে,
নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার যা জানা প্রয়োজন এবং সমস্যার
সমাধান করা দেখুন।
Edge নীতি থেকে ফেরত আসা সমস্যার কোড সমস্যার কোড রেফারেন্স-এ বর্ণিত একটি সামঞ্জস্যপূর্ণ ফর্ম্যাট অনুসরণ করে।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | মেসেজ |
|---|---|
| ExecutionFailed | RegularExpressionProtection StepDefinition {0} এক্সিকিউট করা যায়নি। কারণ: {1} |
| InstantiationFailed | RegularExpressionProtection StepDefinition {0} ইনস্ট্যানশিয়েট করা যায়নি |
| NonMessageVariable | ভেরিয়েবল {0} মেসেজ হিসেবে সমাধান করা যায় না |
| SourceMessageNotAvailable | {0} মেসেজটি RegularExpressionProtection StepDefinition {1}-এর জন্য উপলভ্য নয় |
| ThreatDetected | {0}-এ রেগুলার এক্সপ্রেশন সংক্রান্ত হুমকি শনাক্ত করা হয়েছে: regex: {1} ইনপুট: {2} |
| VariableResolutionFailed | ভেরিয়েবল {0} সমাধান করা যায়নি |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
| সমস্যার কোড | মেসেজ | এর সমাধান করুন |
|---|---|---|
| CannotBeConvertedToNodeset | RegularExpressionProtection {0}: Result of xpath {1} cannot be converted to nodeset. প্রসঙ্গ {2} | build |
| DuplicatePrefix | RegularExpressionProtection {0}: ডুপ্লিকেট উপসর্গ {1} | build |
| EmptyJSONPathExpression | RegularExpressionProtection {0}: Empty JSONPath expression | build |
| EmptyXPathExpression | RegularExpressionProtection {0}: Empty XPath expression | build |
| InvalidRegularExpression | RegularExpressionProtection {0}: ভুল রেগুলার এক্সপ্রেশন {1}, প্রসঙ্গ {2} | build |
| JSONPathCompilationFailed | RegularExpressionProtection {0}: jsonpath {1} কম্পাইল করা যায়নি। প্রসঙ্গ {2} | build |
| NONEmptyPrefixMappedToEmptyURI | RegularExpressionProtection {0}: Non-empty prefix {1} cannot be mapped to empty uri | build |
| NoPatternsToEnforce | RegularExpressionProtection {0}: {1}-এ প্রয়োগ করার মতো কোনও প্যাটার্ন নেই | build |
| NothingToEnforce | RegularExpressionProtection {0}: URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload-এর মধ্যে অন্তত একটি বাধ্যতামূলক | build |
| XPathCompilationFailed | RegularExpressionProtection {0}: xpath {1} কম্পাইল করা যায়নি। প্রসঙ্গ {2} | build |
ফল্ট ভেরিয়েবল
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, এইসব ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল ত্রুটির নাম, যা উপরে দেওয়া টেবিলে তালিকাভুক্ত করা হয়েছে। | fault.name Matches "ThreatDetected" |
regularexpressionprotection.policy_name.failed |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | regularexpressionprotection.Regular-Expressions-Protection-1.failed = true |
SOAPMessageValidation নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ | এর সমাধান করুন |
|---|---|---|---|
steps.messagevalidation.SourceMessageNotAvailable |
500 |
নীতির
|
build |
steps.messagevalidation.NonMessageVariable |
500 |
SOAPMessageValidation
নীতিতে মেসেজ টাইপ ভেরিয়েবল সম্পূর্ণ HTTP অনুরোধ ও উত্তরকে উপস্থাপন করে। বিল্ট-ইন Edge
ফ্লো ভেরিয়েবল |
build |
steps.messagevalidation.Failed |
500 | XSD স্কিমা বা WSDL ডেফিনিশনের সাথে ইনপুট মেসেজ পে-লোড যাচাই করতে SOAPMessageValidation নীতি ব্যর্থ হলে এই সমস্যা হয়। এছাড়াও, পেলোড মেসেজে ভুল JSON বা XML থাকলে এটি ঘটবে। | build |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | কারণ | এর সমাধান করুন |
|---|---|---|
InvalidResourceType |
SOAPMessageValidation নীতিতে <ResourceURL> এলিমেন্ট এমন রিসোর্স টাইপে সেট করা আছে যা
নীতিতে কাজ করে না।
|
build |
ResourceCompileFailed |
SOAPMessageValidation
নীতির <ResourceURL> এলিমেন্টে উল্লেখ করা রিসোর্স স্ক্রিপ্টে এমন একটি সমস্যা রয়েছে যা এটিকে কম্পাইল করা থেকে আটকায়।
|
build |
RootElementNameUnspecified |
SOAPMessageValidation নীতির <Element> এলিমেন্টে রুট
এলিমেন্টের নাম নেই। |
build |
InvalidRootElementName |
SOAPMessageValidation নীতির <Element> এলিমেন্টে একটি রুট এলিমেন্টের নাম আছে
যা এলিমেন্টের সঠিক নাম সংক্রান্ত XML নিয়ম মেনে চলে না। |
build |
SAMLAssertion নীতি
এই বিভাগে, এই নীতি কোনও সমস্যার ট্রিগার করলে Edge-এর দ্বারা সেট করা ফল্ট কোড, সমস্যার মেসেজ এবং ফল্ট ভেরিয়েবল সম্পর্কে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | কারণ | এর সমাধান করুন |
|---|---|---|
SourceNotConfigured |
Validate SAML Assertion
নীতির নিম্নলিখিত এক বা একাধিক এলিমেন্ট সংজ্ঞায়িত করা নেই বা খালি আছে: <Source>, <XPath>,
<Namespaces>, <Namespace>.
|
build |
TrustStoreNotConfigured |
<TrustStore> এলিমেন্ট খালি থাকলে অথবা
ValidateSAMLAssertion নীতিতে উল্লেখ করা না থাকলে, API প্রক্সি ডেপ্লয় করা যায় না।
সঠিক Trust Store থাকতে হবে।
|
build |
NullKeyStoreAlias |
Generate SAML Assertion নীতির <Keystore>
এলিমেন্টে চাইল্ড এলিমেন্ট <Alias> খালি থাকলে বা উল্লেখ করা না থাকলে, API
প্রক্সি ডেপ্লয় করা যায় না। সঠিক Keystore alias প্রয়োজন।
|
build |
NullKeyStore |
GenerateSAMLAssertion নীতির <Keystore>
এলিমেন্টে চাইল্ড এলিমেন্ট <Name> খালি থাকলে বা উল্লেখ করা না থাকলে, API
প্রক্সি ডেপ্লয় করা যায় না। সঠিক Keystore-এর নাম প্রয়োজন।
|
build |
NullIssuer |
Generate SAML
Assertion নীতিতে <Issuer> এলিমেন্ট খালি থাকলে বা উল্লেখ করা না থাকলে, API প্রক্সি ডেপ্লয় করা যায় না। A
সঠিক <Issuer> ভ্যালু প্রয়োজন।
|
build |
ফল্ট ভেরিয়েবল
রানটাইম এরর হলে এই ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল সমস্যার নাম। ফল্ট কোডের শেষ অংশটি হল ফল্টের নাম। | fault.name = "InvalidMediaTpe" |
GenerateSAMLAssertion.failed |
সঠিক SAML অ্যাসারশন নীতি কনফিগারেশনের জন্য, সমস্যার উপসর্গ হল
ValidateSAMLAssertion। |
GenerateSAMLAssertion.failed = true |
সমস্যার উত্তরের উদাহরণ
{ "fault": { "faultstring": "GenerateSAMLAssertion[GenSAMLAssert]: Invalid media type", "detail": { "errorcode": "steps.saml.generate.InvalidMediaTpe" } } }
ভুল নিয়মের উদাহরণ
<FaultRules>
<FaultRule name="invalid_saml_rule">
<Step>
<Name>invalid-saml</Name>
</Step>
<Condition>(GenerateSAMLAssertion.failed = "true")</Condition>
</FaultRule>
</FaultRules>ServiceCallout নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ | এর সমাধান করুন |
|---|---|---|---|
steps.servicecallout.ExecutionFailed |
500 |
এইসব কারণে সমস্যা হতে পারে:
|
build |
steps.servicecallout.RequestVariableNotMessageType |
500 | নীতিতে উল্লেখ করা অনুরোধ ভেরিয়েবলটি মেসেজ ধরনের নয়। যেমন, যদি এটি কোনও স্ট্রিং বা অন্য কোনও নন-মেসেজ টাইপ হয়, তাহলে আপনি এই সমস্যা দেখতে পাবেন। | build |
steps.servicecallout.RequestVariableNotRequestMessageType |
500 | নীতিতে উল্লেখ করা অনুরোধ ভেরিয়েবলটি অনুরোধ মেসেজ ধরনের নয়। যেমন, এটি যদি'উত্তর' ধরনের হয়, তাহলে আপনি এই সমস্যা দেখতে পাবেন। | build |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | কারণ | এর সমাধান করুন |
|---|---|---|
URLMissing |
<HTTPTargetConnection>-এর মধ্যে থাকা <URL> এলিমেন্ট
নেই অথবা ফাঁকা রয়েছে। |
build |
ConnectionInfoMissing |
নীতিতে কোনও
<HTTPTargetConnection> বা <LocalTargetConnection>
এলিমেন্ট না থাকলে এই সমস্যা হয়। |
build |
InvalidTimeoutValue |
<Timeout>-এর ভ্যালু ঋণাত্মক বা শূন্য হলে এই সমস্যা হয়। |
build |
ফল্ট ভেরিয়েবল
রানটাইম এরর হলে এই ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল সমস্যার নাম, যা উপরে দেওয়া রানটাইম সংক্রান্ত সমস্যা সারণীতে তালিকাভুক্ত করা আছে। ফল্ট কোডের শেষ অংশটি হল ফল্টের নাম। | fault.name = "RequestVariableNotMessageType" |
servicecallout.policy_name.failed |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | servicecallout.SC-GetUserData.failed = true |
সমস্যার উত্তরের উদাহরণ
{ "fault":{ "detail":{ "errorcode":"steps.servicecallout.RequestVariableNotMessageType" }, "faultstring":"ServiceCallout[ServiceCalloutGetMockResponse]: request variable data_str value is not of type Message" } }
ভুল নিয়মের উদাহরণ
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="RequestVariableNotMessageType">
<Step>
<Name>AM-RequestVariableNotMessageType</Name>
</Step>
<Condition>(fault.name = "RequestVariableNotMessageType")</Condition>
</FaultRule>SpikeArrest নীতি
এই নীতি কোনও সমস্যার ট্রিগার করলে, Edge-এর দ্বারা সেট করা ফল্ট কোড, সমস্যার মেসেজ এবং ফল্ট ভেরিয়েবল এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং সমস্যার সমাধান করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ | এর সমাধান করুন |
|---|---|---|---|
policies.ratelimit.FailedToResolveSpikeArrestRate |
500 |
<Rate> এলিমেন্টের মধ্যে রেট সেটিং
ধারণকারী ভেরিয়েবলের রেফারেন্স Spike Arrest
পলিসির মধ্যে কোনও ভ্যালুতে রিজলভ করা না গেলে এই সমস্যা হয়। এই এলিমেন্টটি বাধ্যতামূলক এবং intpm বা intps ফর্ম্যাটে
স্পাইক অ্যারেস্ট রেট নির্দিষ্ট করতে ব্যবহার করা হয়। |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
ফ্লো ভেরিয়েবলের মাধ্যমে <MessageWeight> এলিমেন্টের জন্য নির্দিষ্ট করা ভ্যালু সঠিক না হলে (পূর্ণসংখ্যা নয় এমন ভ্যালু)
এই সমস্যাটি হয়। |
build |
policies.ratelimit.SpikeArrestViolation |
429 |
রেট লিমিট পেরিয়ে গেছে। |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | কারণ | এর সমাধান করুন |
|---|---|---|
InvalidAllowedRate |
স্পাইক অ্যারেস্ট
নীতিতে <Rate> এলিমেন্টে স্পাইক অ্যারেস্ট রেট পূর্ণসংখ্যা না হলে অথবা রেটের শেষে ps বা pm না থাকলে,
API প্রক্সি ডেপ্লয় করা যায় না। |
build |
ফল্ট ভেরিয়েবল
রানটাইম এরর হলে এই ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল সমস্যার নাম, যা উপরে দেওয়া রানটাইম এরর সারণীতে তালিকাভুক্ত করা আছে। ফল্ট কোডের শেষ অংশটি হল ফল্টের নাম। | fault.name Matches "SpikeArrestViolation" |
ratelimit.policy_name.failed |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | ratelimit.SA-SpikeArrestPolicy.failed = true |
সমস্যার উত্তরের উদাহরণ
নিচে সমস্যার উত্তরের একটি উদাহরণ দেওয়া হল:
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.SpikeArrestViolation" }, "faultstring":"Spike arrest violation. Allowed rate : 10ps" } }
ভুল নিয়মের উদাহরণ
SpikeArrestViolation ফল্ট হ্যান্ডেল করার জন্য নিচে ফল্ট নিয়মের একটি উদাহরণ দেখানো হল:
<FaultRules>
<FaultRule name="Spike Arrest Errors">
<Step>
<Name>JavaScript-1</Name>
<Condition>(fault.name Matches "SpikeArrestViolation") </Condition>
</Step>
<Condition>ratelimit.Spike-Arrest-1.failed=true</Condition>
</FaultRule>
</FaultRules>StatisticsCollector নীতি
এই নীতি কোনও সমস্যার ট্রিগার করলে, এই বিভাগে সমস্যার মেসেজ ও ফ্লো ভেরিয়েবল সম্পর্কে বর্ণনা করা হয়েছে। আপনি যদি কোনও প্রক্সির জন্য ফল্ট রুল তৈরি করেন, তাহলে এই তথ্য জানা গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
কোনওটিই নয়।
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
| সমস্যার নাম | কারণ | এর সমাধান করুন |
|---|---|---|
UnsupportedDatatype |
Statistics Collector নীতির <Statistic> এলিমেন্টে
ref অ্যাট্রিবিউট দ্বারা নির্দিষ্ট করা ভেরিয়েবলের ধরন কাজ না করলে, API প্রক্সি
ডেপ্লয় করা যায় না। যেসব ডেটা টাইপ কাজ করে সেগুলি হল string, integer,
float, long, double এবং boolean. |
build |
InvalidName |
Statistics Collector নীতির <Statistic> এলিমেন্টের মধ্যে নির্দিষ্ট ভেরিয়েবলের জন্য সংগ্রহ করা ডেটা উল্লেখ করতে ব্যবহৃত নাম
যদি সিস্টেম-সংজ্ঞায়িত ভেরিয়েবলের সাথে
সংঘাতপূর্ণ হয়, তাহলে API প্রক্সি ডেপ্লয় করা যাবে না। পরিচিত
সিস্টেম-ডিফাইন করা ভেরিয়েবলগুলির মধ্যে কিছু হল organization ও environment। |
build |
DatatypeMissing |
Statistics Collector নীতির <Statistic> এলিমেন্টে
ref অ্যাট্রিবিউট দ্বারা নির্দিষ্ট করা ভেরিয়েবলের ধরন অনুপস্থিত থাকলে, API প্রক্সি ডেপ্লয় করা যায় না। |
build |
ফল্ট ভেরিয়েবল
কোনওটিই নয়।
VerifyAPIKey নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ |
|---|---|---|
keymanagement.service.CompanyStatusNotActive |
401 | আপনি যে API কী ব্যবহার করছেন, সেটি যে ডেভেলপার অ্যাপের সাথে যুক্ত কোম্পানির স্ট্যাটাস ইনঅ্যাক্টিভ। কোনও কোম্পানির স্ট্যাটাস 'ইনঅ্যাক্টিভ' হিসেবে সেট করা হলে, আপনি সেই কোম্পানির সাথে যুক্ত ডেভেলপার বা অ্যাপ অ্যাক্সেস করতে পারবেন না। ম্যানেজমেন্ট API ব্যবহার করে কোনও সংস্থার স্ট্যাটাস পরিবর্তন করতে পারেন। কোনও কোম্পানির স্ট্যাটাস সেট করা দেখুন। |
keymanagement.service.DeveloperStatusNotActive |
401 |
আপনি যে API কী ব্যবহার করছেন সেটি যে ডেভেলপার অ্যাপে আছে, সেই অ্যাপের ডেভেলপার অ্যাক্টিভ নেই। কোনও অ্যাপ ডেভেলপারের স্ট্যাটাস 'অ্যাক্টিভ নেই' হিসেবে সেট করা হলে, সেই ডেভেলপারের তৈরি করা যেকোনও ডেভেলপার অ্যাপ ডিঅ্যাক্টিভেট হয়ে যায়। উপযুক্ত অনুমতি সহ অ্যাডমিন ব্যবহারকারী (যেমন, প্রতিষ্ঠানের অ্যাডমিনিস্ট্রেটর) নিম্নলিখিত উপায়ে কোনও ডেভেলপারের স্ট্যাটাস পরিবর্তন করতে পারেন:
|
keymanagement.service.invalid_client-app_not_approved |
401 | API key-এর সাথে যুক্ত ডেভেলপার অ্যাপের অ্যাক্সেস প্রত্যাহার করা হয়েছে। প্রত্যাহার করা অ্যাপ কোনও API প্রোডাক্ট অ্যাক্সেস করতে এবং Apigee Edge ম্যানেজ করে এমন কোনও API ইনভোক করতে পারে না। কোনও সংস্থার অ্যাডমিন ম্যানেজমেন্ট API ব্যবহার করে ডেভেলপার অ্যাপের স্ট্যাটাস পরিবর্তন করতে পারেন। ডেভেলপার অ্যাপ অনুমোদন বা প্রত্যাহার করা দেখুন। |
oauth.v2.FailedToResolveAPIKey |
401 | নীতিটি এমন একটি ভেরিয়েবলে API কী খুঁজে পাওয়ার আশা করে যা নীতির <APIKey> এলিমেন্টে উল্লেখ করা আছে। প্রত্যাশিত ভেরিয়েবেল না থাকলে (এটি সমাধান করা যায় না) এই সমস্যা হয়। |
oauth.v2.InvalidApiKey |
401 | Edge-এর কাছে একটি API কী এসেছে, কিন্তু সেটি সঠিক নয়। Edge তার ডেটাবেসে কীটি খোঁজার সময়, অনুরোধে পাঠানো কীটির সাথে সেটি হুবহু মিলতে হবে। API আগে কাজ করে থাকলে ভাল করে দেখে নিন যে কী আবার তৈরি করা হয়নি। কী আবার তৈরি করা হলে, আপনি পুরনো কী ব্যবহার করার চেষ্টা করলে এই সমস্যা দেখতে পাবেন। আরও তথ্যের জন্য, অ্যাপ রেজিস্টার করুন এবং API কী ম্যানেজ করুন দেখুন। |
oauth.v2.InvalidApiKeyForGivenResource |
401 | Edge-এর কাছে একটি API কী এসেছে এবং সেটি বৈধ; তবে, এটি কোনও প্রোডাক্টের মাধ্যমে আপনার API প্রক্সির সাথে যুক্ত ডেভেলপার অ্যাপে অনুমোদিত কী-এর সাথে মেলে না। |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | কারণ |
|---|---|
SpecifyValueOrRefApiKey |
<APIKey> এলিমেন্টে কোনও মান বা কী নির্দিষ্ট করা নেই। |
ফল্ট ভেরিয়েবল
রানটাইম এরর হলে এই ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল সমস্যার নাম, যা উপরে দেওয়া রানটাইম সংক্রান্ত সমস্যা সারণীতে তালিকাভুক্ত করা আছে। ফল্ট কোডের শেষ অংশটি হল ফল্টের নাম। | fault.name Matches "FailedToResolveAPIKey" |
oauthV2.policy_name.failed |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | oauthV2.VK-VerifyAPIKey.failed = true |
সমস্যার উত্তরের উদাহরণ
{
"fault":{
"faultstring":"Invalid ApiKey",
"detail":{
"errorcode":"oauth.v2.InvalidApiKey"
}
}
}{
"fault":{
"detail":{
"errorcode":"keymanagement.service.DeveloperStatusNotActive"
},
"faultstring":"Developer Status is not Active"
}
}ভুল নিয়মের উদাহরণ
<FaultRule name="FailedToResolveAPIKey">
<Step>
<Name>AM-FailedToResolveAPIKey</Name>
</Step>
<Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition>
</FaultRule>VerifyJWS নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | এটি তখন ঘটে যখন |
|---|---|---|
steps.jws.AlgorithmInTokenNotPresentInConfiguration |
401 | যাচাইকরণ নীতিতে একাধিক অ্যালগরিদম থাকলে এটি ঘটে |
steps.jws.AlgorithmMismatch |
401 | Generate নীতিতে হেডার দ্বারা নির্দিষ্ট করা অ্যালগরিদমটি Verify নীতিতে প্রত্যাশিত অ্যালগরিদমের সাথে ম্যাচ করেনি। উল্লেখ করা অ্যালগরিদম মিলতে হবে। |
steps.jws.ContentIsNotDetached |
401 | JWS-এ
আলাদা করা কন্টেন্ট পেলোড না থাকলে <DetachedContent> নির্দিষ্ট করা হয়। |
steps.jws.FailedToDecode |
401 | নীতিটি JWS ডিকোড করতে পারেনি। JWS সম্ভবত খারাপ হয়ে গেছে। |
steps.jws.InsufficientKeyLength |
401 | HS256 অ্যালগরিদমের জন্য ৩২ বাইটের কম কী |
steps.jws.InvalidClaim |
401 | দাবি না থাকা বা দাবি না মেলা অথবা হেডার না থাকা বা হেডার না মেলা। |
steps.jws.InvalidCurve |
401 | কী দ্বারা নির্দিষ্ট করা কার্ভটি উপবৃত্তাকার কার্ভ অ্যালগরিদমের জন্য সঠিক নয়। |
steps.jws.InvalidJsonFormat |
401 | JWS হেডারে ভুল JSON পাওয়া গেছে। |
steps.jws.InvalidJws |
401 | JWS স্বাক্ষর যাচাইকরণ ব্যর্থ হলে এই সমস্যা হয়। |
steps.jws.InvalidPayload |
401 | JWS পেলোড সঠিক নয়। |
steps.jws.InvalidSignature |
401 | <DetachedContent> বাদ দেওয়া হয়েছে এবং JWS-এ আলাদা করা কন্টেন্ট পেলোড আছে। |
steps.jws.KeyIdMissing |
401 | যাচাইকরণ নীতি পাবলিক কীয়ের সোর্স হিসেবে JWKS ব্যবহার করে, কিন্তু সাইন করা JWS-এ
হেডারে kid প্রপার্টি অন্তর্ভুক্ত থাকে না। |
steps.jws.KeyParsingFailed |
401 | প্রদত্ত কী সংক্রান্ত তথ্য থেকে সর্বজনীন কী পার্স করা যায়নি। |
steps.jws.MissingPayload |
401 | JWS পেলোড নেই। |
steps.jws.NoAlgorithmFoundInHeader |
401 | JWS-এ অ্যালগরিদম হেডার না থাকলে এটি ঘটে। |
steps.jws.NoMatchingPublicKey |
401 | যাচাইকরণ নীতি পাবলিক কীয়ের সোর্স হিসেবে JWKS ব্যবহার করে, কিন্তু সাইন করা JWS-এ kid
JWKS-এ তালিকাভুক্ত নেই। |
steps.jws.UnhandledCriticalHeader |
401 | Verify JWS নীতির মাধ্যমে crit হেডারে পাওয়া হেডারটি KnownHeaders-এ
তালিকাভুক্ত নয়। |
steps.jws.UnknownException |
401 | অজানা ব্যতিক্রম ঘটেছে। |
steps.jws.WrongKeyType |
401 | ভুল ধরনের কী উল্লেখ করা হয়েছে। যেমন, আপনি যদি কোনও উপবৃত্তাকার কার্ভ অ্যালগরিদমের জন্য RSA কী বা RSA অ্যালগরিদমের জন্য কার্ভ কী নির্দিষ্ট করেন। |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | এটি তখন ঘটে যখন |
|---|---|
InvalidAlgorithm |
শুধুমাত্র এই মানগুলিই সঠিক: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512. |
|
|
ডেপ্লয়মেন্ট সংক্রান্ত অন্যান্য সম্ভাব্য সমস্যা। |
ফল্ট ভেরিয়েবল
রানটাইম ত্রুটি ঘটলে এই ভেরিয়েবলগুলি সেট করা হয়। আরও তথ্যের জন্য, নীতি ত্রুটি সম্পর্কে আপনার যা জানা দরকার তা দেখুন।
| ভেরিয়েবল | যেখানে | উদাহরণ |
|---|---|---|
fault.name=" fault_name " | fault_name হল ফল্টের নাম, যা উপরে রানটাইম ত্রুটির সারণীতে তালিকাভুক্ত করা হয়েছে। ফল্ট নামটি ফল্ট কোডের শেষ অংশ। | fault.name Matches "TokenExpired" |
JWS.failed | সমস্ত JWS নীতি ব্যর্থতার ক্ষেত্রে একই পরিবর্তনশীল সেট করে। | jws.JWS-Policy.failed = true |
উদাহরণ ত্রুটি প্রতিক্রিয়া
ত্রুটি পরিচালনার জন্য, সর্বোত্তম অনুশীলন হল ত্রুটি প্রতিক্রিয়ার errorcode অংশটি আটকে রাখা। faultstring -এ লেখার উপর নির্ভর করবেন না, কারণ এটি পরিবর্তন হতে পারে।
উদাহরণ দোষ নিয়ম
<FaultRules>
<FaultRule name="JWS Policy Errors">
<Step>
<Name>JavaScript-1</Name>
<Condition>(fault.name Matches "TokenExpired")</Condition>
</Step>
<Condition>JWS.failed=true</Condition>
</FaultRule>
</FaultRules>VerifyJWT নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি ফল্ট রুল তৈরি করলে, এই তথ্য জানা গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি হ্যান্ডেল করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | এটি তখন ঘটে যখন |
|---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 | যাচাইকরণ নীতিতে একাধিক অ্যালগরিদম থাকলে এটি ঘটে। |
steps.jwt.AlgorithmMismatch |
401 | জেনারেট নীতিতে উল্লেখ করা অ্যালগরিদমটি যাচাই নীতিতে প্রত্যাশিত অ্যালগরিদমের সাথে ম্যাচ করেনি। উল্লেখ করা অ্যালগরিদম মিলতে হবে। |
steps.jwt.FailedToDecode |
401 | নীতিটি JWT ডিকোড করতে পারেনি। JWT সম্ভবত খারাপ হয়ে গেছে। |
steps.jwt.GenerationFailed |
401 | নীতিটি JWT তৈরি করতে পারেনি। |
steps.jwt.InsufficientKeyLength |
401 | HS256 অ্যালগরিদমের জন্য ৩২ বাইটের কম, HS386 অ্যালগরিদমের জন্য ৪৮ বাইটের কম এবং HS512 অ্যালগরিদমের জন্য ৬৪ বাইটের কম কী। |
steps.jwt.InvalidClaim |
401 | দাবি না থাকা বা দাবি না মেলা অথবা হেডার না থাকা বা হেডার না মেলা। |
steps.jwt.InvalidCurve |
401 | কী দ্বারা নির্দিষ্ট করা কার্ভটি উপবৃত্তাকার কার্ভ অ্যালগরিদমের জন্য সঠিক নয়। |
steps.jwt.InvalidJsonFormat |
401 | হেডার বা পেলোডে ভুল JSON পাওয়া গেছে। |
steps.jwt.InvalidToken |
401 | JWT স্বাক্ষর যাচাইকরণ ব্যর্থ হলে এই সমস্যা হয়। |
steps.jwt.JwtAudienceMismatch |
401 | টোকেন যাচাইকরণের সময় অডিয়েন্স দাবি করা যায়নি। |
steps.jwt.JwtIssuerMismatch |
401 | টোকেন যাচাই করার সময় ইস্যুকারী দাবিটি সফল হয়নি। |
steps.jwt.JwtSubjectMismatch |
401 | টোকেন যাচাইকরণের সময় সাবজেক্ট দাবিটি সফল হয়নি। |
steps.jwt.KeyIdMissing |
401 | যাচাইকরণ নীতি পাবলিক কীয়ের সোর্স হিসেবে JWKS ব্যবহার করে, কিন্তু স্বাক্ষরিত JWT-তে
হেডারে kid প্রপার্টি অন্তর্ভুক্ত থাকে না। |
steps.jwt.KeyParsingFailed |
401 | প্রদত্ত কী সংক্রান্ত তথ্য থেকে সর্বজনীন কী পার্স করা যায়নি। |
steps.jwt.NoAlgorithmFoundInHeader |
401 | JWT-তে কোনও অ্যালগরিদম হেডার না থাকলে এটি ঘটে। |
steps.jwt.NoMatchingPublicKey |
401 | যাচাইকরণ নীতি পাবলিক কীয়ের সোর্স হিসেবে JWKS ব্যবহার করে, কিন্তু kid
স্বাক্ষরিত JWT-তে JWKS তালিকাভুক্ত নয়। |
steps.jwt.SigningFailed |
401 | GenerateJWT-তে, HS384 বা HS512 অ্যালগরিদমের জন্য ন্যূনতম সাইজের চেয়ে ছোট কী |
steps.jwt.TokenExpired |
401 | নীতিটি মেয়াদ শেষ হয়ে যাওয়া টোকেন যাচাই করার চেষ্টা করে। |
steps.jwt.TokenNotYetValid |
401 | টোকেনটি এখনও বৈধ নয়। |
steps.jwt.UnhandledCriticalHeader |
401 | Verify JWT নীতি দ্বারা crit হেডারে পাওয়া হেডারটি KnownHeaders-এ
তালিকাভুক্ত নেই। |
steps.jwt.UnknownException |
401 | অজানা ব্যতিক্রম ঘটেছে। |
steps.jwt.WrongKeyType |
401 | ভুল ধরনের কী উল্লেখ করা হয়েছে। যেমন, আপনি যদি কোনও উপবৃত্তাকার কার্ভ অ্যালগরিদমের জন্য RSA কী বা RSA অ্যালগরিদমের জন্য কার্ভ কী নির্দিষ্ট করেন। |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | কারণ | এর সমাধান করুন |
|---|---|---|
InvalidNameForAdditionalClaim |
<AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্টে <Claim>
ব্যবহৃত দাবিটি নিম্নলিখিত রেজিস্টার করা নামের মধ্যে একটি হলে, ডিপ্লয়মেন্ট ব্যর্থ হবে:
kid, iss, sub, aud, iat,
exp, nbf, বা jti.
|
build |
InvalidTypeForAdditionalClaim |
<AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্ট <Claim>-এ ব্যবহৃত দাবিটি string, number,
boolean বা map ধরনের না হলে, ডেপ্লয়মেন্ট ব্যর্থ হবে।
|
build |
MissingNameForAdditionalClaim |
<AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্ট <Claim>
-এ দাবির নাম উল্লেখ করা না থাকলে, ডিপ্লয়মেন্ট সম্পূর্ণ হবে না।
|
build |
InvalidNameForAdditionalHeader |
<AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্টে <Claim>
ব্যবহৃত দাবিটির নাম alg বা typ হলে এই সমস্যা হয়।
|
build |
InvalidTypeForAdditionalHeader |
<AdditionalClaims> এলিমেন্টের <Claim>
চাইল্ড এলিমেন্টে ব্যবহৃত দাবির ধরন string, number,
boolean বা map ধরনের না হলে, ডেপ্লয়মেন্ট সফল হবে না।
|
build |
InvalidValueOfArrayAttribute |
<AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্ট <Claim>-এর মধ্যে থাকা অ্যারে অ্যাট্রিবিউটের ভ্যালু true বা false হিসেবে সেট করা না থাকলে এই সমস্যা হয়।
|
build |
InvalidValueForElement |
<Algorithm> এলিমেন্টে উল্লেখ করা মান ব্যবহারযোগ্য না হলে,
ডেপ্লয়মেন্ট সফল হবে না।
|
build |
MissingConfigurationElement |
<PrivateKey> এলিমেন্ট RSA ফ্যামিলি অ্যালগরিদম অথবা <SecretKey> এলিমেন্ট HS ফ্যামিলি
অ্যালগরিদমের সাথে ব্যবহার করা না হলে এই সমস্যা হবে।
|
build |
InvalidKeyConfiguration |
<PrivateKey>
বা <SecretKey> এলিমেন্টে চাইল্ড এলিমেন্ট <Value> নির্দিষ্ট করা না থাকলে, ডেপ্লয়মেন্ট সম্পূর্ণ হবে না।
|
build |
EmptyElementForKeyConfiguration |
<Value> চাইল্ড এলিমেন্টের ref অ্যাট্রিবিউট <PrivateKey>
বা <SecretKey> এলিমেন্ট খালি বা অনির্দিষ্ট হলে, ডেপ্লয়মেন্ট ব্যর্থ হবে।
|
build |
InvalidConfigurationForVerify |
<Id> এলিমেন্টটি
<SecretKey> এলিমেন্টের মধ্যে ডিফাইন করা থাকলে এই সমস্যা হয়।
|
build |
InvalidEmptyElement |
Verify JWT নীতির <Source> এলিমেন্ট খালি থাকলে
এই সমস্যা হয়। উপস্থিত থাকলে, এটিকে অবশ্যই Edge ফ্লো ভেরিয়েবলের নাম দিয়ে সংজ্ঞায়িত করতে হবে।
|
build |
InvalidPublicKeyValue |
<PublicKey> এলিমেন্টের চাইল্ড এলিমেন্ট <JWKS>-এ ব্যবহৃত ভ্যালু
RFC 7517-এ নির্দিষ্ট করা সঠিক ফর্ম্যাট ব্যবহার না করলে,
ডেপ্লয়মেন্ট ব্যর্থ হবে।
|
build |
InvalidConfigurationForActionAndAlgorithm |
HS ফ্যামিলি অ্যালগরিদমের সাথে <PrivateKey> এলিমেন্ট ব্যবহার করা হলে অথবা
RSA ফ্যামিলি অ্যালগরিদমের সাথে <SecretKey> এলিমেন্ট ব্যবহার করা হলে, ডেপ্লয়মেন্ট কাজ করবে না।
|
build |
ফল্ট ভেরিয়েবল
রানটাইম ত্রুটি ঘটলে এই ভেরিয়েবলগুলি সেট করা হয়। আরও তথ্যের জন্য, নীতি ত্রুটি সম্পর্কে আপনার যা জানা দরকার তা দেখুন।
| ভেরিয়েবল | যেখানে | উদাহরণ |
|---|---|---|
fault.name=" fault_name " | fault_name হল ফল্টের নাম, যা উপরে রানটাইম ত্রুটির সারণীতে তালিকাভুক্ত করা হয়েছে। ফল্ট নামটি ফল্ট কোডের শেষ অংশ। | fault.name Matches "TokenExpired" |
JWT.failed | সমস্ত JWT নীতি ব্যর্থতার ক্ষেত্রে একই পরিবর্তনশীল সেট করে। | JWT.failed = true |
উদাহরণ ত্রুটি প্রতিক্রিয়া
ত্রুটি পরিচালনার জন্য, সর্বোত্তম অনুশীলন হল ত্রুটি প্রতিক্রিয়ার errorcode অংশটি আটকে রাখা। faultstring -এ লেখার উপর নির্ভর করবেন না, কারণ এটি পরিবর্তন হতে পারে।
উদাহরণ দোষ নিয়ম
<FaultRules>
<FaultRule name="JWT Policy Errors">
<Step>
<Name>JavaScript-1</Name>
<Condition>(fault.name Matches "TokenExpired")</Condition>
</Step>
<Condition>JWT.failed=true</Condition>
</FaultRule>
</FaultRules>
XMLThreatProtection নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ | এর সমাধান করুন |
|---|---|---|---|
steps.xmlthreatprotection.ExecutionFailed |
500 | XMLThreatProtection নীতি অনেক ধরনের ExecutionFailed সমস্যা দেখাতে পারে। নীতিতে সেট করা নির্দিষ্ট থ্রেশহোল্ড অতিক্রম করলে এই ধরনের বেশিরভাগ সমস্যা হয়। এইসব ধরনের সমস্যার মধ্যে অন্তর্ভুক্ত হল: এলিমেন্টের নামের দৈর্ঘ্য, চাইল্ড কাউন্ট, নোড ডেপথ, অ্যাট্রিবিউট কাউন্ট, অ্যাট্রিবিউটের নামের দৈর্ঘ্য, এবং আরও অনেক কিছু। আপনি XMLThreatProtection নীতি রানটাইম সংক্রান্ত সমস্যার সমাধান টপিকে সম্পূর্ণ তালিকা দেখতে পাবেন। | build |
steps.xmlthreatprotection.InvalidXMLPayload |
500 |
XMLThreatProtection নীতির <Source> এলিমেন্টে নির্দিষ্ট করা ইনপুট মেসেজ পেলোড সঠিক XML ডকুমেন্ট না হলে এই সমস্যা হয়।
|
build |
steps.xmlthreatprotection.SourceUnavailable |
500 |
message
ভেরিয়েবলটি <Source> এলিমেন্টে উল্লেখ করা থাকলে এবং সেটি যদি:
|
build |
steps.xmlthreatprotection.NonMessageVariable |
500 |
<Source> এলিমেন্টটি এমন ভেরিয়েবলে সেট করা থাকলে এই সমস্যা হয় যা
মেসেজ
টাইপের নয়।
|
build |
মনে রাখবেন:
- ExecutionFailed হল ডিফল্ট সমস্যার নাম এবং শনাক্ত করা সমস্যার ধরন নির্বিশেষে এটি ফেরত দেওয়া হবে; তবে, কোনও সংস্থা-লেভেল প্রপার্টি সেট করার মাধ্যমে এই ডিফল্ট পরিবর্তন করা যেতে পারে। এই প্রপার্টি সেট করা হলে, সমস্যার নামে আসল সমস্যাটি দেখা যাবে। যেমন, "TextExceeded" বা "AttrValueExceeded"। আরও বিবরণের জন্য ব্যবহার সংক্রান্ত নোট দেখুন।
- 500 HTTP স্ট্যাটাস হল ডিফল্ট; তবে, কোনও সংস্থা-লেভেল প্রপার্টি সেট করে অনুরোধ ফ্লো সংক্রান্ত সমস্যার জন্য HTTP স্ট্যাটাস 400-এ পরিবর্তন করা যেতে পারে। আরও বিবরণের জন্য ব্যবহার সংক্রান্ত নোট দেখুন।
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
কোনওটিই নয়।
ফল্ট ভেরিয়েবল
রানটাইম এরর হলে এই ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল সমস্যার নাম, যা উপরে দেওয়া রানটাইম সংক্রান্ত সমস্যা সারণীতে তালিকাভুক্ত করা আছে। ফল্ট কোডের শেষ অংশটি হল ফল্টের নাম। | fault.name Matches "SourceUnavailable" |
xmlattack.policy_name.failed |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | xmlattack.XPT-SecureRequest.failed = true |
সমস্যার উত্তরের উদাহরণ
{ "fault": { "faultstring": "XMLThreatProtection[XPT-SecureRequest]: Execution failed. reason: XMLThreatProtection[XTP-SecureRequest]: Exceeded object entry name length at line 2", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
ভুল নিয়মের উদাহরণ
<FaultRule name="XML Threat Protection Policy Faults">
<Step>
<Name>AM-CustomErrorResponse</Name>
<Condition>(fault.name Matches "ExecutionFailed") </Condition>
</Step>
<Condition>(xmlattack.XPT-SecureRequest.failed = true) </Condition>
</FaultRule>XMLtoJSON নীতি
এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ | এর সমাধান করুন |
|---|---|---|---|
steps.xmltojson.ExecutionFailed |
500 | ইনপুট পেলোড (XML) খালি থাকলে অথবা ইনপুট XML ভুল বা ভুল ফর্ম্যাটে থাকলে এই সমস্যা হয়। | build |
steps.xmltojson.InCompatibleType |
500 | <Source> এলিমেন্ট ও
<OutputVariable> এলিমেন্টে ভেরিয়েবলের ধরন আলাদা হলে এই সমস্যা হয়। <Source> এলিমেন্ট ও <OutputVariable> এলিমেন্টের মধ্যে থাকা ভেরিয়েবলের ধরন
একই হতে হবে।
|
build |
steps.xmltojson.InvalidSourceType |
500 | <Source> এলিমেন্টকে সংজ্ঞায়িত করার জন্য ব্যবহৃত ভেরিয়েবলের ধরন
ভুল হলে এই সমস্যা হয়। ভেরিয়েবলের সঠিক ধরন হল মেসেজ ও স্ট্রিং। |
build |
steps.xmltojson.OutputVariableIsNotAvailable |
500 | JSON নীতির XML-এর <Source> এলিমেন্টে নির্দিষ্ট করা ভেরিয়েবলটি যদি স্ট্রিং টাইপের হয় এবং <OutputVariable> এলিমেন্টটি যদি সংজ্ঞায়িত করা না থাকে, তাহলে এই সমস্যাটি হয়।
<Source> এলিমেন্টে সংজ্ঞায়িত ভেরিয়েবলটি স্ট্রিং ধরনের হলে, <OutputVariable> এলিমেন্টটি বাধ্যতামূলক।
|
build |
steps.xmltojson.SourceUnavailable |
500 |
XML থেকে JSON নীতিতে <Source> এলিমেন্টে নির্দিষ্ট করা মেসেজ
ভেরিয়েবলটি যদি:
|
build |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | কারণ | এর সমাধান করুন |
|---|---|---|
EitherOptionOrFormat |
XML থেকে JSON নীতিতে <Options> বা <Format> এলিমেন্টগুলির মধ্যে একটিও
ঘোষণা করা না থাকলে, API প্রক্সি ডিপ্লয় করা যায় না।
|
build |
UnknownFormat |
XML থেকে JSON নীতিতে <Format> এলিমেন্টের মধ্যে কোনও অজানা
ফর্ম্যাট নির্দিষ্ট করা থাকলে, API প্রক্সি ডেপ্লয় করা যায় না। আগে থেকে নির্দিষ্ট করা ফর্ম্যাটের মধ্যে এগুলি পড়ে:
xml.com, yahoo, google এবং badgerFish.
|
build |
ফল্ট ভেরিয়েবল
রানটাইম এরর হলে এই ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।
| ভেরিয়েবল | কোথায় | উদাহরণ |
|---|---|---|
fault.name="fault_name" |
fault_name হল সমস্যার নাম, যা উপরে দেওয়া রানটাইম সংক্রান্ত সমস্যা সারণীতে তালিকাভুক্ত করা আছে। ফল্ট কোডের শেষ অংশটি হল ফল্টের নাম। | fault.name = "SourceUnavailable" |
xmltojson.policy_name.failed |
policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যার কারণে সমস্যা হয়েছে। | xmltojson.XMLtoJSON-1.failed = true |
সমস্যার উত্তরের উদাহরণ
{ "fault": { "faultstring": "XMLToJSON[XMLtoJSON-1]: Source xyz is not available", "detail": { "errorcode": "steps.xml2json.SourceUnavailable" } } }
ভুল নিয়মের উদাহরণ
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="XML to JSON Faults"> <Step> <Name>AM-SourceUnavailableMessage</Name> <Condition>(fault.name Matches "SourceUnavailable") </Condition> </Step> <Step> <Name>AM-BadXML</Name> <Condition>(fault.name = "ExecutionFailed")</Condition> </Step> <Condition>(xmltojson.XMLtoJSON-1.failed = true) </Condition> </FaultRule>
XSLTransform নীতি
রানটাইম সমস্যা
নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।
| সমস্যার কোড | HTTP স্ট্যাটাস | কারণ | এর সমাধান করুন |
|---|---|---|---|
steps.xsl.XSLSourceMessageNotAvailable |
500 |
XSL Transform নীতির <Source> এলিমেন্টে নির্দিষ্ট করা মেসেজ বা স্ট্রিং ভেরিয়েবল
স্কোপের বাইরে থাকলে (যে নির্দিষ্ট ফ্লোতে নীতি এক্সিকিউট করা হচ্ছে সেখানে উপলভ্য না থাকলে)
অথবা সমাধান করা না গেলে (সংজ্ঞায়িত করা না থাকলে) এই সমস্যা হয়।
|
build |
steps.xsl.XSLEvaluationFailed |
500 | ইনপুট XML পেলোড উপলভ্য না থাকলে/ভুল ফর্ম্যাটে থাকলে অথবা XSLTransform নীতি XSL ফাইলে দেওয়া ট্রান্সফর্মেশন নিয়ম অনুযায়ী ইনপুট XML ফাইল ট্রান্সফর্ম করতে না পারলে/ব্যর্থ হলে এই সমস্যা হয়। XSLTransform নীতি কাজ না করার বিভিন্ন কারণ থাকতে পারে। সমস্যার মেসেজে ব্যর্থতার কারণ উল্লেখ করা থাকলে, তা থেকে কারণ সম্পর্কে আরও তথ্য পাওয়া যাবে। | build |
ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা
এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।
| সমস্যার নাম | কারণ | এর সমাধান করুন |
|---|---|---|
XSLEmptyResourceUrl |
XSL ট্রান্সফর্ম নীতিতে <ResourceURL> এলিমেন্ট খালি থাকলে, API প্রক্সি
ডেপ্লয় করা যায় না। |
build |
XSLInvalidResourceType |
XSL ট্রান্সফর্ম
নীতিতে উল্লেখ করা রিসোর্স টাইপ <ResourceURL> এলিমেন্টটি xsl ধরনের না হলে, API প্রক্সি ডেপ্লয় করা যায় না। |
build |