নীতি সংক্রান্ত সমস্যার রেফারেন্স

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

AccessControl নীতি

এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।

রানটাইম সমস্যা

নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।

সমস্যার কোড HTTP স্ট্যাটাস কারণ এর সমাধান করুন
accesscontrol.IPDeniedAccess 403 ক্লায়েন্ট IP অ্যাড্রেস অথবা API অনুরোধে পাস করা IP অ্যাড্রেস অ্যাক্সেস কন্ট্রোল নীতির <MatchRule> এলিমেন্টের মধ্যে নির্দিষ্ট করা <SourceAddress> এলিমেন্টের সাথে ম্যাচ করে এবং <MatchRule> এলিমেন্টের action অ্যাট্রিবিউট DENY হিসেবে সেট করা থাকে।

ফল্ট ভেরিয়েবল

রানটাইম এরর হলে এই ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার জন্য নির্দিষ্ট ভেরিয়েবল দেখুন।

ভেরিয়েবল কোথায় উদাহরণ
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

<Copy> এলিমেন্টের source অ্যাট্রিবিউট এমন ভেরিয়েবলে সেট করা থাকলে এই সমস্যা হয় যা মেসেজ টাইপের নয়।

মেসেজ টাইপ ভেরিয়েবল সম্পূর্ণ HTTP অনুরোধ ও উত্তরকে উপস্থাপন করে। বিল্ট-ইন Edge ফ্লো ভেরিয়েবল request, response ও message হল মেসেজ ধরনের। মেসেজ ভেরিয়েবল সম্পর্কে আরও জানতে, ভেরিয়েবল রেফারেন্স দেখুন।

steps.assignmessage.UnresolvedVariable 500

Assign Message নীতিতে উল্লেখ করা কোনও ভেরিয়েবল যদি:

  • আউট-অফ-স্কোপ (যে নির্দিষ্ট ফ্লোতে নীতি প্রয়োগ করা হচ্ছে সেখানে উপলভ্য নয়)
  • অথবা
  • সমাধান করা যাচ্ছে না (সংজ্ঞায়িত করা হয়নি)

ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা

এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।

সমস্যার নাম কারণ এর সমাধান করুন
InvalidIndex Assign Message নীতির <Copy> এবং/অথবা <Remove> এলিমেন্টে নির্দিষ্ট করা ইন্ডেক্স ০ বা নেগেটিভ সংখ্যা হলে, API প্রক্সি ডেপ্লয় করা যায় না।
InvalidVariableName চাইল্ড এলিমেন্ট <Name> খালি থাকলে বা <AssignVariable> এলিমেন্টে উল্লেখ করা না থাকলে, API প্রক্সি ডেপ্লয় করা যায় না, কারণ কোনও সঠিক ভেরিয়েবল নাম নেই যেখানে কোনও ভ্যালু অ্যাসাইন করা যায়। ভেরিয়েবলের সঠিক নাম লিখতে হবে।
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" দিয়ে শুরু না হলে)।
steps.basicauthentication.UnresolvedVariable 500 ডিকোড বা এনকোড করার জন্য প্রয়োজনীয় সোর্স ভেরিয়েবল নেই। এই সমস্যাটি শুধুমাত্র IgnoreUnresolvedVariables মিথ্যা হলে তবেই হতে পারে।

ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা

এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।

সমস্যার নাম এটি তখন ঘটে যখন এর সমাধান করুন
UserNameRequired নামযুক্ত অপারেশনের জন্য <User> এলিমেন্ট অবশ্যই থাকতে হবে।
PasswordRequired নামযুক্ত অপারেশনের জন্য <Password> এলিমেন্ট অবশ্যই থাকতে হবে।
AssignToRequired নামযুক্ত অপারেশনের জন্য <AssignTo> এলিমেন্ট অবশ্যই থাকতে হবে।
SourceRequired নামযুক্ত অপারেশনের জন্য <Source> এলিমেন্ট অবশ্যই থাকতে হবে।

ফল্ট ভেরিয়েবল

রানটাইম এরর হলে এই ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।

ভেরিয়েবল কোথায় উদাহরণ
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\
NotAllowedAtProxyEndpoint
প্রক্সি অনুরোধ/উত্তর/সমস্যা সংক্রান্ত পাথে কনকারেন্ট রেটলিমিট নীতি {0} অ্যাটাচমেন্ট অনুমোদিত নয়। এই নীতি টার্গেট এন্ডপয়েন্টে রাখতে হবে।
ConcurrentRatelimitStepAttachment\
MissingAtTargetEndpoint
টার্গেট অনুরোধ/উত্তর/সমস্যা পাথে কনকারেন্ট রেটলিমিট নীতি {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.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

ডেপ্লয়মেন্ট সংক্রান্ত অন্যান্য সম্ভাব্য সমস্যা।

ফল্ট ভেরিয়েবল

রানটাইম ত্রুটি ঘটলে এই ভেরিয়েবলগুলি সেট করা হয়। আরও তথ্যের জন্য, নীতি ত্রুটি সম্পর্কে আপনার যা জানা দরকার তা দেখুন।

ভেরিয়েবল যেখানে উদাহরণ
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 হয়ত ভুল, অবৈধ বা অন্য কোনও কারণে ডিকোড করা যাচ্ছে না।
steps.jwt.FailedToResolveVariable 401 নীতির <Source> এলিমেন্টে নির্দিষ্ট করা ফ্লো ভেরিয়েবেল না থাকলে এটি ঘটে।
steps.jwt.InvalidToken 401 নীতির <Source> এলিমেন্টে উল্লেখ করা ফ্লো ভেরিয়েবল স্কোপের বাইরে থাকলে বা রিজলভ করা না গেলে এটি ঘটে।

ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা

এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।

সমস্যার নাম কারণ এর সমাধান করুন
InvalidEmptyElement JWT ডিকোড করার জন্য যে ফ্লো ভেরিয়েবল ব্যবহার করা হবে সেটি নীতির <Source> এলিমেন্টে উল্লেখ করা না থাকলে এটি ঘটে।

ফল্ট ভেরিয়েবল

রানটাইম ত্রুটি ঘটলে এই ভেরিয়েবলগুলি সেট করা হয়। আরও তথ্যের জন্য, নীতি ত্রুটি সম্পর্কে আপনার যা জানা দরকার তা দেখুন।

ভেরিয়েবল যেখানে উদাহরণ
fault.name=" fault_name " fault_name হল ফল্টের নাম, যা উপরে রানটাইম ত্রুটির সারণীতে তালিকাভুক্ত করা হয়েছে। ফল্ট নামটি ফল্ট কোডের শেষ অংশ। fault.name Matches "TokenExpired"
JWT.failed সমস্ত JWT নীতি ব্যর্থতার ক্ষেত্রে একই পরিবর্তনশীল সেট করে। JWT.failed = true

উদাহরণ ত্রুটি প্রতিক্রিয়া

JWT পলিসি ফল্ট কোড

ত্রুটি পরিচালনার জন্য, সর্বোত্তম অনুশীলন হল ত্রুটি প্রতিক্রিয়ার 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

এই সমস্যাটি তখন হয় যখন:

  • ইনপুট পেলোড (JSON, XML) খালি আছে।
  • নীতিতে পাস করা ইনপুট (JSON, XML, ইত্যাদি) ভুল বা ত্রুটিপূর্ণ।
steps.extractvariables.ImmutableVariable 500 নীতিতে ব্যবহৃত ভেরিয়েবল অপরিবর্তনীয়। নীতিটি এই ভেরিয়েবল সেট করতে পারেনি।
steps.extractvariables.InvalidJSONPath 500 নীতিতে JSONPath এলিমেন্টে ভুল JSON পাথ ব্যবহার করা হলে এই সমস্যা হয়। যেমন, JSON পেলোডে যদি Name অবজেক্ট না থাকে, কিন্তু আপনি নীতিতে Name-কে পাথ হিসেবে নির্দিষ্ট করেন, তাহলে এই সমস্যাটি হয়।
steps.extractvariables.JsonPathParsingFailure 500 নীতি JSON পাথ পার্স করতে না পারলে এবং Source এলিমেন্টে উল্লেখ করা ফ্লো ভেরিয়েবল থেকে ডেটা এক্সট্র্যাক্ট করতে না পারলে এই সমস্যা হয়। Source এলিমেন্টে উল্লেখ করা ফ্লো ভেরিয়েবল বর্তমান ফ্লোতে না থাকলে সাধারণত এটি হয়।
steps.extractvariables.SetVariableFailed 500 নীতি কোনও ভেরিয়েবলে মান সেট করতে না পারলে এই সমস্যা হয়। সাধারণত, নেস্টেড ডট-সেপারেটেড ফর্ম্যাটে একই শব্দ দিয়ে শুরু হওয়া একাধিক ভেরিয়েবলে মান অ্যাসাইন করার চেষ্টা করলে এই সমস্যা হয়।
steps.extractvariables.SourceMessageNotAvailable 500 এই সমস্যাটি তখনই হয়, যখন নীতির Source এলিমেন্টে উল্লেখ করা মেসেজ ভেরিয়েবলটি এইসবের মধ্যে কোনও একটি হয়:
  • স্কোপের বাইরে (যে নির্দিষ্ট ফ্লোতে নীতি প্রয়োগ করা হচ্ছে সেখানে উপলভ্য নয়) অথবা
  • সমাধান করা যাচ্ছে না (সংজ্ঞায়িত করা নেই)
steps.extractvariables.UnableToCast 500 নীতিটি যদি এক্সট্র্যাক্ট করা মানকে কোনও ভেরিয়েবলে কাস্ট করতে না পারে, তাহলে এই সমস্যাটি হয়। সাধারণত, আপনি যদি একটি ডেটা টাইপের ভ্যালু অন্য ডেটা টাইপের ভেরিয়েবলে সেট করার চেষ্টা করেন, তাহলে এটি ঘটে।

ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা

এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।

সমস্যার নাম কারণ এর সমাধান করুন
NothingToExtract নীতিতে URIPath, QueryParam, Header, FormParam, XMLPayload অথবা JSONPayload, এইসব এলিমেন্টের কোনওটি না থাকলে, API প্রক্সি ডেপ্লয় করা যায় না, কারণ এক্সট্র্যাক্ট করার মতো কিছু থাকে না।
NONEmptyPrefixMappedToEmptyURI XMLPayload এলিমেন্টের অধীনে Namespace এলিমেন্টে নীতির কোনও প্রিফিক্স সংজ্ঞায়িত করা থাকলে, কিন্তু কোনও URI সংজ্ঞায়িত করা না থাকলে এই সমস্যাটি হয়।
DuplicatePrefix XMLPayload এলিমেন্টের অধীনে Namespace এলিমেন্টে একই প্রিফিক্স একাধিকবার সংজ্ঞায়িত করা থাকলে এই সমস্যা হয়।
NoXPathsToEvaluate নীতিতে XPath এলিমেন্ট না থাকলে XMLPayload এলিমেন্ট, তাহলে এই সমস্যার কারণে API প্রক্সি ডেপ্লয় করা যায় না।
EmptyXPathExpression নীতিতে XMLPayload এলিমেন্টের মধ্যে XPath এক্সপ্রেশন খালি থাকলে, API প্রক্সি ডেপ্লয় করা যায় না।
NoJSONPathsToEvaluate নীতিতে JSONPath এলিমেন্ট না থাকলে JSONPayload এলিমেন্ট, তাহলে এই সমস্যার কারণে API প্রক্সি ডেপ্লয় করা যায় না।
EmptyJSONPathExpression নীতিতে XPath এক্সপ্রেশন খালি থাকলে XMLPayload এলিমেন্ট, API প্রক্সি ডেপ্লয় করা যায় না।
MissingName যেখানে প্রয়োজন, সেখানে name অ্যাট্রিবিউট না থাকলে, QueryParam, Header, FormParam বা Variable-এর মতো কোনও নীতি এলিমেন্টে API প্রক্সি ডেপ্লয় করা যায় না।
PatternWithoutVariable নীতিতে Pattern এলিমেন্টের মধ্যে কোনও ভেরিয়েবল নির্দিষ্ট করা না থাকলে, API প্রক্সি ডেপ্লয় করা যায় না। Pattern এলিমেন্টের জন্য এক্সট্র্যাক্ট করা ডেটা যে ভেরিয়েবেলে স্টোর করা হবে, তার নাম প্রয়োজন।
CannotBeConvertedToNodeset নীতিতে যদি এমন XPath এক্সপ্রেশন থাকে যেখানে Variable type nodeset হিসেবে সংজ্ঞায়িত করা হয়, কিন্তু এক্সপ্রেশনটি nodeset-এ কনভার্ট করা না যায়, তাহলে API প্রক্সি ডেপ্লয় করা যায় না।
JSONPathCompilationFailed নীতিটি নির্দিষ্ট JSON পাথ কম্পাইল করতে পারেনি।
InstantiationFailed নীতিটি ইনস্ট্যানশিয়েট করা যায়নি।
XPathCompilationFailed XPath এলিমেন্টে ব্যবহৃত প্রিফিক্স বা ভ্যালু যদি নীতির মধ্যে ঘোষণা করা কোনও নেমস্পেসের অংশ না হয়, তাহলে API প্রক্সি ডেপ্লয় করা যাবে না।
InvalidPattern নীতির মধ্যে URIPath, QueryParam, Header, FormParam, XMLPayload বা JSONPayload-এর মতো কোনও এলিমেন্টে Pattern এলিমেন্টের সংজ্ঞা ভুল হলে, API প্রক্সি ডেপ্লয় করা যায় না।

ফল্ট ভেরিয়েবল

এই নীতি রানটাইমে কোনও সমস্যা ট্রিগার করলে, এইসব ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।

ভেরিয়েবল কোথায় উদাহরণ
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.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

ডেপ্লয়মেন্ট সংক্রান্ত অন্যান্য সম্ভাব্য সমস্যা।

ফল্ট ভেরিয়েবল

রানটাইম ত্রুটি ঘটলে এই ভেরিয়েবলগুলি সেট করা হয়। আরও তথ্যের জন্য, নীতি ত্রুটি সম্পর্কে আপনার যা জানা দরকার তা দেখুন।

ভেরিয়েবল যেখানে উদাহরণ
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.
InvalidTypeForAdditionalClaim <AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্ট <Claim>-এ ব্যবহৃত দাবিটি string, number, boolean বা map ধরনের না হলে, ডেপ্লয়মেন্ট ব্যর্থ হবে।
MissingNameForAdditionalClaim <AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্ট <Claim> -এ দাবির নাম উল্লেখ করা না থাকলে, ডিপ্লয়মেন্ট সম্পূর্ণ হবে না।
InvalidNameForAdditionalHeader <AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্টে <Claim> ব্যবহৃত দাবিটির নাম alg বা typ হলে এই সমস্যা হয়।
InvalidTypeForAdditionalHeader <AdditionalClaims> এলিমেন্টের <Claim> চাইল্ড এলিমেন্টে ব্যবহৃত দাবির ধরন string, number, boolean বা map ধরনের না হলে, ডেপ্লয়মেন্ট সফল হবে না।
InvalidValueOfArrayAttribute <AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্ট <Claim>-এর মধ্যে থাকা অ্যারে অ্যাট্রিবিউটের ভ্যালু true বা false হিসেবে সেট করা না থাকলে এই সমস্যা হয়।
InvalidConfigurationForActionAndAlgorithm HS ফ্যামিলি অ্যালগরিদমের সাথে <PrivateKey> এলিমেন্ট ব্যবহার করা হলে অথবা RSA ফ্যামিলি অ্যালগরিদমের সাথে <SecretKey> এলিমেন্ট ব্যবহার করা হলে, ডেপ্লয়মেন্ট কাজ করবে না।
InvalidValueForElement <Algorithm> এলিমেন্টে উল্লেখ করা মান ব্যবহারযোগ্য না হলে, ডেপ্লয়মেন্ট সফল হবে না।
MissingConfigurationElement <PrivateKey> এলিমেন্ট RSA ফ্যামিলি অ্যালগরিদম অথবা <SecretKey> এলিমেন্ট HS ফ্যামিলি অ্যালগরিদমের সাথে ব্যবহার করা না হলে এই সমস্যা হবে।
InvalidKeyConfiguration <PrivateKey> বা <SecretKey> এলিমেন্টে চাইল্ড এলিমেন্ট <Value> নির্দিষ্ট করা না থাকলে, ডেপ্লয়মেন্ট সম্পূর্ণ হবে না।
EmptyElementForKeyConfiguration <Value> চাইল্ড এলিমেন্টের ref অ্যাট্রিবিউট <PrivateKey> বা <SecretKey> এলিমেন্ট খালি বা অনির্দিষ্ট হলে, ডেপ্লয়মেন্ট ব্যর্থ হবে।
InvalidVariableNameForSecret <PrivateKey> বা <SecretKey> এলিমেন্টের চাইল্ড এলিমেন্টের <Value> ref অ্যাট্রিবিউটে উল্লেখ করা ফ্লো ভেরিয়েবলের নামে (private.) প্রাইভেট প্রিফিক্স না থাকলে এই সমস্যা হয়।
InvalidSecretInConfig <PrivateKey> বা <SecretKey> এলিমেন্টের চাইল্ড এলিমেন্ট <Value>-এ ব্যক্তিগত প্রিফিক্স (private.) না থাকলে এই সমস্যা হয়।
InvalidTimeFormat <NotBefore> এলিমেন্টে উল্লেখ করা ভ্যালু সঠিক ফর্ম্যাটে না থাকলে, ডেপ্লয়মেন্ট সম্পূর্ণ হবে না।

ফল্ট ভেরিয়েবল

রানটাইম ত্রুটি ঘটলে এই ভেরিয়েবলগুলি সেট করা হয়। আরও তথ্যের জন্য, নীতি ত্রুটি সম্পর্কে আপনার যা জানা দরকার তা দেখুন।

ভেরিয়েবল যেখানে উদাহরণ
fault.name=" fault_name " fault_name হল ফল্টের নাম, যা উপরে রানটাইম ত্রুটির সারণীতে তালিকাভুক্ত করা হয়েছে। ফল্ট নামটি ফল্ট কোডের শেষ অংশ। fault.name Matches "TokenExpired"
JWT.failed সমস্ত JWT নীতি ব্যর্থতার ক্ষেত্রে একই পরিবর্তনশীল সেট করে। JWT.failed = true

উদাহরণ ত্রুটি প্রতিক্রিয়া

JWT পলিসি ফল্ট কোড

ত্রুটি পরিচালনার জন্য, সর্বোত্তম অনুশীলন হল ত্রুটি প্রতিক্রিয়ার 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 নীতি কার্যকর করার সময় জাভা কোড একটি ব্যতিক্রম ছুঁড়ে বা শূন্য প্রদান করলে ঘটে।

স্থাপনার ত্রুটি

এই ত্রুটিগুলি ঘটতে পারে যখন নীতি সমন্বিত প্রক্সি স্থাপন করা হয়৷

ত্রুটির নাম ফল্ট স্ট্রিং HTTP স্থিতি যখন ঘটে
ResourceDoesNotExistResource 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 ৷
steps.javascript.ScriptExecutionFailedLineNumber 500 জাভাস্ক্রিপ্ট কোডে একটি ত্রুটি ঘটেছে৷ বিস্তারিত জানার জন্য ফল্ট স্ট্রিং দেখুন। N/A
steps.javascript.ScriptSecurityError 500 JavaScript কার্যকর করার সময় একটি নিরাপত্তা ত্রুটি ঘটেছে। বিস্তারিত জানার জন্য ফল্ট স্ট্রিং দেখুন। N/A

স্থাপনার ত্রুটি

আপনি যখন এই নীতি সম্বলিত একটি প্রক্সি স্থাপন করেন তখন এই ত্রুটিগুলি ঘটতে পারে৷

ত্রুটির নাম কারণ ঠিক করুন
InvalidResourceUrlFormat যদি জাভাস্ক্রিপ্ট নীতির <ResourceURL> বা <IncludeURL> উপাদানের মধ্যে নির্দিষ্ট করা রিসোর্স ইউআরএলের ফর্ম্যাটটি অবৈধ হয়, তাহলে API প্রক্সির স্থাপনা ব্যর্থ হয়।
InvalidResourceUrlReference যদি <ResourceURL> বা <IncludeURL> উপাদানগুলি এমন একটি JavaScript ফাইলকে নির্দেশ করে যা বিদ্যমান নেই, তাহলে API প্রক্সির স্থাপনা ব্যর্থ হয়। উল্লেখিত সোর্স ফাইলটি অবশ্যই API প্রক্সি, এনভায়রনমেন্ট বা প্রতিষ্ঠানের স্তরে বিদ্যমান থাকতে হবে।
WrongResourceType জাভাস্ক্রিপ্ট নীতির <ResourceURL> বা <IncludeURL> উপাদানগুলি jsc (জাভাস্ক্রিপ্ট ফাইল) ব্যতীত অন্য যেকোন রিসোর্স প্রকারকে উল্লেখ করলে এই ত্রুটিটি স্থাপনের সময় ঘটে।
NoResourceURLOrSource জাভাস্ক্রিপ্ট নীতির স্থাপনা এই ত্রুটির সাথে ব্যর্থ হতে পারে যদি <ResourceURL> উপাদানটি ঘোষণা না করা হয় বা যদি এই উপাদানটির মধ্যে সংস্থান URL সংজ্ঞায়িত না করা হয়। <ResourceURL> উপাদান একটি বাধ্যতামূলক উপাদান। অথবা, <IncludeURL> উপাদানটি ঘোষণা করা হয়েছে কিন্তু রিসোর্স URL এই উপাদানটির মধ্যে সংজ্ঞায়িত করা হয়নি। <IncludeURL> উপাদানটি ঐচ্ছিক কিন্তু ঘোষিত হলে, সম্পদ URL অবশ্যই <IncludeURL> উপাদানের মধ্যে নির্দিষ্ট করতে হবে।

ফল্ট ভেরিয়েবল

যখন এই নীতি রানটাইমে একটি ত্রুটি ট্রিগার করে তখন এই ভেরিয়েবলগুলি সেট করা হয়৷ আরও তথ্যের জন্য, নীতি ত্রুটি সম্পর্কে আপনার যা জানা দরকার তা দেখুন।

ভেরিয়েবল যেখানে উদাহরণ
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 অবজেক্ট থাকে।
steps.jsonthreatprotection.SourceUnavailable 500 এই ত্রুটিটি ঘটে যদি <Source> উপাদানে নির্দিষ্ট করা বার্তা পরিবর্তনশীল হয়:
  • সুযোগের বাইরে (নির্দিষ্ট প্রবাহে উপলব্ধ নয় যেখানে নীতিটি কার্যকর করা হচ্ছে)
  • request , response বা message বৈধ মানগুলির মধ্যে একটি নয়৷
steps.jsonthreatprotection.NonMessageVariable 500 এই ত্রুটিটি ঘটে যদি <Source> উপাদানটি একটি ভেরিয়েবলে সেট করা হয় যা বার্তা টাইপ নয়।

স্থাপনার ত্রুটি

কোনোটিই নয়।

ফল্ট ভেরিয়েবল

যখন এই নীতি একটি ত্রুটি ট্রিগার করে তখন এই ভেরিয়েবলগুলি সেট করা হয়৷ আরও তথ্যের জন্য, নীতি ত্রুটি সম্পর্কে আপনার যা জানা দরকার তা দেখুন।

ভেরিয়েবল যেখানে উদাহরণ
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) হল ভুল বা ত্রুটিপূর্ণ।
steps.jsontoxml.InCompatibleTypes 500 <Source> এলিমেন্ট ও <OutputVariable> এলিমেন্টে সংজ্ঞায়িত ভেরিয়েবলের ধরন একই না হলে এই সমস্যা হয়। <Source> এলিমেন্ট ও <OutputVariable> এলিমেন্টের মধ্যে থাকা ভেরিয়েবলের ধরন একই হতে হবে। সঠিক ধরন হল message ও string।
steps.jsontoxml.InvalidSourceType 500 <Source> এলিমেন্ট কে সংজ্ঞায়িত করার জন্য ব্যবহৃত ভেরিয়েবলের ধরন ভুল হলে এই সমস্যা হয়। ভেরিয়েবলের সঠিক ধরন হল message ও string।
steps.jsontoxml.OutputVariableIsNotAvailable 500 JSON থেকে XML নীতিতে নির্দিষ্ট করা ভেরিয়েবলটি যদি স্ট্রিং টাইপের হয় এবং <OutputVariable> এলিমেন্টটি ডিফাইন করা না থাকে, তাহলে এই সমস্যাটি হয়। <Source> <Source> এলিমেন্টে সংজ্ঞায়িত ভেরিয়েবলটি স্ট্রিং ধরনের হলে, <OutputVariable> এলিমেন্টটি বাধ্যতামূলক।
steps.jsontoxml.SourceUnavailable 500 JSON থেকে XML নীতিতে নির্দিষ্ট করা <Source> এলিমেন্টের message ভেরিয়েবলটি যদি:
  • স্কোপের বাইরে (যে নির্দিষ্ট ফ্লোতে নীতি প্রয়োগ করা হচ্ছে সেখানে উপলভ্য নয়) অথবা
  • সমাধান করা যাচ্ছে না (সংজ্ঞায়িত করা হয়নি)

ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা

কোনওটিই নয়।

ফল্ট ভেরিয়েবল

রানটাইম এরর হলে এই ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।

ভেরিয়েবল কোথায় উদাহরণ
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

এনক্রিপটেড কী ভ্যালু ম্যাপ থেকে কোনও ভ্যালু রিট্রিভ করার চেষ্টা করলে এবং private উপসর্গ নেই এমন কোনও ভেরিয়েবলে ভ্যালু সেট করলে এই সমস্যা হয়। ডিব্যাগিংয়ের সময় প্রাথমিক নিরাপত্তা সংক্রান্ত কারণে প্রয়োজনীয় প্রিফিক্স, API প্রক্সি ট্রেস ও ডিব্যাগ সেশন থেকে এনক্রিপ্ট করা ভ্যালু লুকিয়ে রাখে।

steps.keyvaluemapoperations.UnsupportedOperationException 500

কী ভ্যালু ম্যাপ অপারেশন নীতিতে mapIdentifier অ্যাট্রিবিউট খালি স্ট্রিং হিসেবে সেট করা থাকলে এই সমস্যা হয়।

ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা

এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।

সমস্যার নাম কারণ এর সমাধান করুন
InvalidIndex কী ভ্যালু ম্যাপ অপারেশন নীতির <Get> এলিমেন্টে নির্দিষ্ট করা index অ্যাট্রিবিউট শূন্য বা নেগেটিভ সংখ্যা হলে, API প্রক্সি ডেপ্লয় করা যায় না। ইনডেক্স 1থেকে শুরু হয়, তাই শূন্য বা নেগেটিভ পূর্ণসংখ্যা ইনডেক্স হিসেবে গণ্য করা হয় না।
KeyIsMissing <Key> এলিমেন্ট সম্পূর্ণ অনুপস্থিত থাকলে অথবা <InitialEntries> এলিমেন্টের <Entry>-এর মধ্যে <Key> এলিমেন্টের অধীনে <Parameter> এলিমেন্ট অনুপস্থিত থাকলে, কী ভ্যালু ম্যাপ অপারেশন নীতির কারণে এই সমস্যা হয়।
ValueIsMissing Key Value Map Operations নীতির <InitialEntries> এলিমেন্টের মধ্যে <Entry> এলিমেন্টের নিচে <Value> এলিমেন্ট না থাকলে এই সমস্যা হয়।

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 কাজ করে।
InvalidPort MessageLogging নীতি প্রয়োগ করা না গেলে এই সমস্যা হতে পারে, যদি পোর্ট নম্বরটি <Port> এলিমেন্টের মধ্যে নির্দিষ্ট করা না থাকে অথবা সেটি সঠিক না হয়। পোর্ট নম্বরটি অবশ্যই শূন্যের থেকে বড় পূর্ণসংখ্যা হতে হবে।

ফল্ট ভেরিয়েবল

রানটাইম এরর হলে এই ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।

ভেরিয়েবল কোথায় উদাহরণ
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

নীতির <Source> এলিমেন্টে নির্দিষ্ট করা ভেরিয়েবল হয় স্কোপের বাইরে আছে অথবা সমাধান করা যাচ্ছে না।

steps.oasvalidation.NotMessageVariable 500

<Source> এলিমেন্টটি এমন একটি ভেরিয়েবেলে সেট করা আছে যা মেসেজ ধরনের নয়।

ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা

এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।

সমস্যার নাম কারণ
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 নীতিতে সেটি সেট করা হলে এই সমস্যা হয়।
CacheNotFound <CacheResource> এলিমেন্টে উল্লেখ করা ক্যাশে নেই।

ফল্ট ভেরিয়েবল

এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, এইসব ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।

ভেরিয়েবল কোথায় উদাহরণ
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 প্রক্সি স্থাপন করা হয় এমন পরিবেশে বিদ্যমান নেই।
InvalidTimeout যদি <CacheLookupTimeoutInSeconds> উপাদানটি একটি ঋণাত্মক সংখ্যায় সেট করা থাকে, তাহলে API প্রক্সির স্থাপনা ব্যর্থ হয়।
CacheNotFound ত্রুটি বার্তায় উল্লিখিত নির্দিষ্ট ক্যাশে একটি নির্দিষ্ট বার্তা প্রসেসর উপাদানে তৈরি না হলে এই ত্রুটি ঘটে।

ফল্ট ভেরিয়েবল

N/A

উদাহরণ ত্রুটি প্রতিক্রিয়া

N/A

InvalidateCache নীতি

এই বিভাগে ত্রুটির বার্তা এবং ফ্লো ভেরিয়েবলগুলি বর্ণনা করে যেগুলি সেট করা হয় যখন এই নীতিটি একটি ত্রুটি ট্রিগার করে৷ আপনি একটি প্রক্সির জন্য ত্রুটির নিয়ম তৈরি করছেন কিনা তা জানার জন্য এই তথ্যটি গুরুত্বপূর্ণ৷ আরও জানতে, নীতিগত ত্রুটি এবং হ্যান্ডলিং ফল্ট সম্পর্কে আপনার যা জানা দরকার তা দেখুন৷

ত্রুটি কোড উপসর্গ

N/A

রানটাইম ত্রুটি

এই নীতি কোনো রানটাইম ত্রুটি নিক্ষেপ না.

স্থাপনার ত্রুটি

আপনি যখন এই নীতি সম্বলিত একটি প্রক্সি স্থাপন করেন তখন এই ত্রুটিগুলি ঘটতে পারে৷

ত্রুটির নাম কারণ ঠিক করুন
InvalidCacheResourceReference এই ত্রুটিটি ঘটে যদি <CacheResource> InvalidateCache নীতিতে উপাদানটি এমন একটি নামে সেট করা হয় যা পরিবেশে যেখানে API প্রক্সি স্থাপন করা হচ্ছে সেখানে বিদ্যমান নেই৷
CacheNotFound ত্রুটি বার্তায় উল্লিখিত নির্দিষ্ট ক্যাশে একটি নির্দিষ্ট বার্তা প্রসেসর উপাদানে তৈরি না হলে এই ত্রুটি ঘটে।

ফল্ট ভেরিয়েবল

N/A

উদাহরণ ত্রুটি প্রতিক্রিয়া

N/A

ResponseCache নীতি

এই নীতি কোনও সমস্যার ট্রিগার করলে, এই বিভাগে সমস্যার মেসেজ ও ফ্লো ভেরিয়েবল সম্পর্কে বর্ণনা করা হয়েছে। আপনি যদি কোনও প্রক্সির জন্য ফল্ট রুল তৈরি করেন, তাহলে এই তথ্য জানা গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।

সমস্যা থাকা কোডের উপসর্গ

প্রযোজ্য নয়

রানটাইম সমস্যা

এই নীতি কোনও রানটাইম এরর দেখায় না।

ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা

এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।

সমস্যার নাম কারণ এর সমাধান করুন
InvalidTimeout ResponseCache নীতির <CacheLookupTimeoutInSeconds> এলিমেন্ট নেগেটিভ সংখ্যায় সেট করা থাকলে, API প্রক্সি ডিপ্লয় করা যায় না।
InvalidCacheResourceReference ResponseCache নীতির <CacheResource> এলিমেন্ট এমন নামে সেট করা থাকলে এই সমস্যা হয় যা API প্রক্সি যেখানে ডেপ্লয় করা হচ্ছে সেই এনভায়রনমেন্টে নেই।
ResponseCacheStepAttachmentNotAllowedReq কোনও API প্রক্সির ফ্লোয়ের মধ্যে একাধিক অনুরোধ পাথে একই ResponseCache নীতি অ্যাটাচ করা থাকলে এই সমস্যা হয়।
ResponseCacheStepAttachmentNotAllowedResp কোনও API প্রক্সির মধ্যে একাধিক রেসপন্স পাথে একই ResponseCache নীতি অ্যাটাচ করা থাকলে এই সমস্যা হয়।
InvalidMessagePatternForErrorCode ResponseCache নীতির মধ্যে <SkipCacheLookup> অথবা <SkipCachePopulation> এলিমেন্টে ভুল কন্ডিশন থাকলে এই সমস্যা হয়।
CacheNotFound সমস্যার মেসেজে উল্লেখ করা নির্দিষ্ট ক্যাশে যদি নির্দিষ্ট মেসেজ প্রসেসর কম্পোনেন্টে তৈরি না হয়ে থাকে, তাহলে এই সমস্যাটি হয়।

ফল্ট ভেরিয়েবল

প্রযোজ্য নয়

সমস্যার উত্তরের উদাহরণ

প্রযোজ্য নয়

OAuthV2 নীতি

এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, Edge-এর মাধ্যমে ফেরত আসা ফল্ট কোড ও সমস্যার মেসেজ এবং সেট করা ফল্ট ভেরিয়েবল সম্পর্কে এই বিভাগে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।

রানটাইম সমস্যা

নীতি এক্সিকিউট করার সময় এই সমস্যা হতে পারে।

সমস্যার কোড HTTP স্ট্যাটাস কারণ অপারেশন থেকে পাওয়া
steps.oauth.v2.access_token_expired 401 অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়ে গেছে।

VerifyAccessToken
InvalidateToken

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
InvalidateToken

steps.oauth.v2.InsufficientScope 403 অনুরোধে দেখানো অ্যাক্সেস টোকেনের সুযোগ, যাচাই করা অ্যাক্সেস টোকেন নীতিতে নির্দিষ্ট করা সুযোগের সাথে মেলে না। স্কোপ সম্পর্কে জানতে, OAuth2 স্কোপের সাথে কাজ করা দেখুন। VerifyAccessToken
steps.oauth.v2.invalid_access_token 401 ক্লায়েন্টের পাঠানো অ্যাক্সেস টোকেনটি সঠিক নয়। VerifyAccessToken
steps.oauth.v2.invalid_client 401

নীতির <GenerateResponse> প্রপার্টি true হিসেবে সেট করা থাকলে এবং অনুরোধে পাঠানো ক্লায়েন্ট আইডি ভুল হলে এই সমস্যার নাম রিটার্ন করা হয়। আপনার প্রক্সির সাথে যুক্ত ডেভেলপার অ্যাপের জন্য আপনি সঠিক ক্লায়েন্ট কী ও সিক্রেট ভ্যালু ব্যবহার করছেন কিনা তা নিশ্চিত করুন। সাধারণত, এই মানগুলি Base64 এনকোড করা Basic Authorization হেডার হিসেবে পাঠানো হয়।

মনে রাখবেন: invalid_client ও InvalidClientIdentifier নাম, দুটিই যাতে ধরা পড়ে, তার জন্য আগে থেকে থাকা ফল্ট রুল কন্ডিশন পরিবর্তন করার সাজেশন দেওয়া হয়। আরও তথ্য ও উদাহরণের জন্য ১৬.০৯.২১ রিলিজ নোট দেখুন।

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

নীতির <GenerateResponse> প্রপার্টি false হিসেবে সেট করা থাকলে এবং অনুরোধে পাঠানো ক্লায়েন্ট আইডি সঠিক না হলে এই সমস্যার নাম রিটার্ন করা হয়। আপনার প্রক্সির সাথে যুক্ত ডেভেলপার অ্যাপের জন্য সঠিক ক্লায়েন্ট কী ও সিক্রেট ভ্যালু ব্যবহার করছেন কিনা তা নিশ্চিত করতে চেক করুন। সাধারণত, এই মানগুলি Base64 এনকোড করা প্রাথমিক অনুমোদন হেডার হিসেবে পাঠানো হয়।

মনে রাখবেন: এই পরিস্থিতিতে, এই সমস্যাকে invalid_client বলা হত। invalid_client এবং InvalidClientIdentifier, দুটি নামই যাতে ধরা পড়ে, তার জন্য আগে থেকে থাকা ফল্ট রুল কন্ডিশন পরিবর্তন করার সাজেশন দেওয়া হয়। আরও তথ্য ও উদাহরণের জন্য ১৬.০৯.২১ রিলিজ নোট দেখুন।

GenerateAccessToken
RefreshAccessToken

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

<ExpiresIn> এলিমেন্টের জন্য, সঠিক মান হল পজিটিভ পূর্ণসংখ্যা এবং -1।

InvalidValueForRefreshTokenExpiresIn <RefreshTokenExpiresIn> এলিমেন্টের জন্য, সঠিক মান হল পজিটিভ পূর্ণসংখ্যা এবং -1।
InvalidGrantType <SupportedGrantTypes> এলিমেন্টে ভুল গ্র্যান্টের ধরন উল্লেখ করা হয়েছে। বৈধ ধরনের তালিকার জন্য নীতি রেফারেন্স দেখুন।
ExpiresInNotApplicableForOperation <Operations> এলিমেন্টে নির্দিষ্ট করা অপারেশনগুলি যেন মেয়াদ শেষ হয়ে যাওয়া সংক্রান্ত সুবিধা দেয়, তা নিশ্চিত করুন। যেমন, VerifyToken অপারেশনটি তা করে না।
RefreshTokenExpiresInNotApplicableForOperation <Operations> এলিমেন্টে উল্লেখ করা অপারেশনগুলি রিফ্রেশ টোকেনের মেয়াদ শেষ হওয়া সম্পর্কিত কাজ করতে পারে কিনা তা নিশ্চিত করুন। যেমন, VerifyToken অপারেশনটি তা করে না।
GrantTypesNotApplicableForOperation <SupportedGrantTypes>-এ উল্লেখ করা গ্র্যান্টের ধরন নির্দিষ্ট অপারেশনের জন্য কাজ করে কিনা তা ভালোভাবে দেখে নিন।
OperationRequired

আপনাকে অবশ্যই <Operation> এলিমেন্ট ব্যবহার করে এই নীতিতে একটি অপারেশন নির্দিষ্ট করতে হবে।

মনে রাখবেন: <Operation> এলিমেন্ট না থাকলে, UI স্কিমা যাচাইকরণ সংক্রান্ত সমস্যা দেখাবে।

InvalidOperation

আপনাকে অবশ্যই এই নীতিতে <Operation> এলিমেন্ট ব্যবহার করে একটি সঠিক অপারেশন নির্দিষ্ট করতে হবে।

মনে রাখবেন: <Operation> এলিমেন্টটি ভুল হলে, UI স্কিমা যাচাইকরণ সংক্রান্ত সমস্যা দেখায়।

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 অপারেশনের জন্য, ফল্টের নামের মধ্যে এই প্রত্যয়টি অন্তর্ভুক্ত থাকে: keymanagement.service
যেমন: keymanagement.service.invalid_access_token

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 পড়ে।

ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা

এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।

সমস্যার নাম কারণ এর সমাধান করুন
InvalidResourceUrlFormat PythonScript নীতির <ResourceURL> বা <IncludeURL> এলিমেন্টের মধ্যে নির্দিষ্ট করা রিসোর্স URL-এর ফর্ম্যাট ভুল হলে, API প্রক্সি ডেপ্লয় করা যায় না।
InvalidResourceUrlReference <ResourceURL> বা <IncludeURL> এলিমেন্ট যদি এমন PythonScript ফাইলের দিকে নির্দেশ করে যা নেই, তাহলে API প্রক্সি ডেপ্লয় করা যায় না। রেফার করা সোর্স ফাইলটি API প্রক্সি, এনভায়রনমেন্ট বা অর্গানাইজেশন লেভেলে থাকতে হবে।

ফল্ট ভেরিয়েবল

এই নীতি রানটাইমে কোনও সমস্যা ট্রিগার করলে, এইসব ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।

ভেরিয়েবল কোথায় উদাহরণ
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> এলিমেন্টে যেভাবে উল্লেখ করা হয়েছে, সেই অনুযায়ী সময়সীমা মিনিট, ঘণ্টা, দিন, সপ্তাহ বা মাস হতে পারে।
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference 500 কোটা নীতিতে <TimeUnit> এলিমেন্ট নির্দিষ্ট করা না থাকলে এটি ঘটে। এই এলিমেন্ট বাধ্যতামূলক এবং কোটার ক্ষেত্রে প্রযোজ্য সময়ের একক নির্দিষ্ট করতে ব্যবহার করা হয়। সময়সীমা মিনিট, ঘণ্টা, দিন, সপ্তাহ বা মাস হতে পারে।
policies.ratelimit.InvalidMessageWeight 500 ফ্লো ভেরিয়েবলের মাধ্যমে নির্দিষ্ট করা <MessageWeight> এলিমেন্টের ভ্যালু ভুল হলে (পূর্ণসংখ্যা নয় এমন ভ্যালু) এটি ঘটে।
policies.ratelimit.QuotaViolation 500 কোটার সর্বাধিক সীমা পেরিয়ে গেছে। প্রযোজ্য নয়

ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা

সমস্যার নাম কারণ এর সমাধান করুন
InvalidQuotaInterval <Interval> এলিমেন্টে উল্লেখ করা কোটা ইন্টারভ্যাল পূর্ণসংখ্যা না হলে, API প্রক্সি ডেপ্লয় করা যায় না। যেমন, <Interval> এলিমেন্টে কোটা ইন্টারভ্যাল ০.১ হিসেবে নির্দিষ্ট করা থাকলে, API প্রক্সি ডেপ্লয় করা যায় না।
InvalidQuotaTimeUnit <TimeUnit> এলিমেন্টে উল্লেখ করা সময় একক কাজ না করলে, API প্রক্সি ডিপ্লয় করা যায় না। যেসব সময় একক কাজ করে সেগুলি হল minute, hour, day, week এবং month।
InvalidQuotaType <Quota> এলিমেন্টে type অ্যাট্রিবিউট দ্বারা নির্দিষ্ট কোটার ধরন ভুল হলে, API প্রক্সি ডেপ্লয় করা যায় না। এইসব কোটা ধরন কাজ করে: default, calendar, flexi এবং rollingwindow।
InvalidStartTime <StartTime> এলিমেন্টে উল্লেখ করা সময়ের ফর্ম্যাট ভুল হলে, API প্রক্সি ডেপ্লয় করা যায় না। সঠিক ফর্ম্যাট হল yyyy-MM-dd HH:mm:ss, যা হল ISO 8601 তারিখ ও সময়ের ফর্ম্যাট। যেমন, <StartTime> এলিমেন্টে উল্লেখ করা সময় যদি 7-16-2017 12:00:00 হয়, তাহলে API প্রক্সি ডিপ্লয় করা যাবে না।
StartTimeNotSupported <StartTime> এলিমেন্ট নির্দিষ্ট করা থাকলে, যার কোটার ধরন calendar ধরন নয়, তাহলে API প্রক্সি ডেপ্লয় করা যায় না। <StartTime> এলিমেন্টটি শুধুমাত্র calendar কোটার ধরনের ক্ষেত্রে কাজ করে। যেমন, <Quota> এলিমেন্টে type অ্যাট্রিবিউট flexi বা rolling window হিসেবে সেট করা থাকলে, API প্রক্সি ডেপ্লয় করা যায় না।
InvalidTimeUnitForDistributedQuota <Distributed> এলিমেন্ট true হিসেবে সেট করা থাকলে এবং <TimeUnit> এলিমেন্ট second হিসেবে সেট করা থাকলে API প্রক্সি ডেপ্লয় করা যায় না। ডিস্ট্রিবিউট করা কোটার জন্য second timeunit সঠিক নয়।
InvalidSynchronizeIntervalForAsyncConfiguration কোটা নীতির মধ্যে <SyncIntervalInSeconds> এলিমেন্টের জন্য নির্দিষ্ট করা ভ্যালু <AsynchronousConfiguration> এলিমেন্টের মধ্যে শূন্যের থেকে কম হলে, API প্রক্সি ডেপ্লয়মেন্ট ব্যর্থ হয়।
InvalidAsynchronizeConfigurationForSynchronousQuota কোটা নীতিতে <AsynchronousConfiguration> এলিমেন্টের ভ্যালু true হিসেবে সেট করা থাকলে, যা <AsynchronousConfiguration> এলিমেন্ট ব্যবহার করে অ্যাসিঙ্ক্রোনাস কনফিগারেশনও সংজ্ঞায়িত করে, তাহলে API প্রক্সি ডেপ্লয় করা যায় না।

ফল্ট ভেরিয়েবল

এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, এইসব ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।

ভেরিয়েবল কোথায় উদাহরণ
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> এলিমেন্টটি বাধ্যতামূলক এবং এটি সেই টার্গেট কোটা নীতিকে শনাক্ত করে যার কাউন্টারকে রিসেট কোটা নীতির মাধ্যমে আপডেট করতে হবে।
policies.resetquota.FailedToResolveAllowCountRef প্রযোজ্য নয় নীতির <Allow> এলিমেন্টে অনুমোদিত সংখ্যা ধারণকারী ভেরিয়েবলের রেফারেন্স কোনও ভ্যালুতে সমাধান করা যায় না। এই এলিমেন্টটি বাধ্যতামূলক এবং কোটা কাউন্টার কমানোর জন্য পরিমাণ নির্দিষ্ট করে।
policies.resetquota.FailedToResolveRLPolicy 500 <Quota> এলিমেন্টে ref অ্যাট্রিবিউট দ্বারা রেফারেন্স করা ভেরিয়েবল রিজলভ করা যাচ্ছে না।

ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা

এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।

সমস্যার নাম কারণ এর সমাধান করুন
InvalidCount রিসেট কোটা নীতির <Allow> এলিমেন্টে নির্দিষ্ট করা কাউন্ট ভ্যালু পূর্ণসংখ্যা না হলে, API প্রক্সি ডেপ্লয় করা যায় না।

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}
DuplicatePrefix RegularExpressionProtection {0}: ডুপ্লিকেট উপসর্গ {1}
EmptyJSONPathExpression RegularExpressionProtection {0}: Empty JSONPath expression
EmptyXPathExpression RegularExpressionProtection {0}: Empty XPath expression
InvalidRegularExpression RegularExpressionProtection {0}: ভুল রেগুলার এক্সপ্রেশন {1}, প্রসঙ্গ {2}
JSONPathCompilationFailed RegularExpressionProtection {0}: jsonpath {1} কম্পাইল করা যায়নি। প্রসঙ্গ {2}
NONEmptyPrefixMappedToEmptyURI RegularExpressionProtection {0}: Non-empty prefix {1} cannot be mapped to empty uri
NoPatternsToEnforce RegularExpressionProtection {0}: {1}-এ প্রয়োগ করার মতো কোনও প্যাটার্ন নেই
NothingToEnforce RegularExpressionProtection {0}: URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload-এর মধ্যে অন্তত একটি বাধ্যতামূলক
XPathCompilationFailed RegularExpressionProtection {0}: xpath {1} কম্পাইল করা যায়নি। প্রসঙ্গ {2}

ফল্ট ভেরিয়েবল

এই নীতি কোনও সমস্যার কারণে ট্রিগার হলে, এইসব ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।

ভেরিয়েবল কোথায় উদাহরণ
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

নীতির <Source> এলিমেন্টে উল্লেখ করা কোনও ভেরিয়েবল যদি এগুলির মধ্যে কোনও একটি হয়, তাহলে এই সমস্যা হয়:

  • আউট-অফ-স্কোপ (যে নির্দিষ্ট ফ্লোতে নীতি প্রয়োগ করা হচ্ছে সেখানে উপলভ্য নয়)
  • অথবা
  • সমাধান করা যাচ্ছে না (সংজ্ঞায়িত করা হয়নি)
steps.messagevalidation.NonMessageVariable 500

SOAPMessageValidation নীতিতে <Source> এলিমেন্টটি message ধরনের নয় এমন কোনও ভেরিয়েবলে সেট করা থাকলে এই সমস্যা হয়।

মেসেজ টাইপ ভেরিয়েবল সম্পূর্ণ HTTP অনুরোধ ও উত্তরকে উপস্থাপন করে। বিল্ট-ইন Edge ফ্লো ভেরিয়েবল request, response ও message হল মেসেজ ধরনের। মেসেজ ভেরিয়েবল সম্পর্কে আরও জানতে, ভেরিয়েবল রেফারেন্স দেখুন।

steps.messagevalidation.Failed 500 XSD স্কিমা বা WSDL ডেফিনিশনের সাথে ইনপুট মেসেজ পে-লোড যাচাই করতে SOAPMessageValidation নীতি ব্যর্থ হলে এই সমস্যা হয়। এছাড়াও, পেলোড মেসেজে ভুল JSON বা XML থাকলে এটি ঘটবে।

ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা

এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।

সমস্যার নাম কারণ এর সমাধান করুন
InvalidResourceType SOAPMessageValidation নীতিতে <ResourceURL> এলিমেন্ট এমন রিসোর্স টাইপে সেট করা আছে যা নীতিতে কাজ করে না।
ResourceCompileFailed SOAPMessageValidation নীতির <ResourceURL> এলিমেন্টে উল্লেখ করা রিসোর্স স্ক্রিপ্টে এমন একটি সমস্যা রয়েছে যা এটিকে কম্পাইল করা থেকে আটকায়।
RootElementNameUnspecified SOAPMessageValidation নীতির <Element> এলিমেন্টে রুট এলিমেন্টের নাম নেই।
InvalidRootElementName SOAPMessageValidation নীতির <Element> এলিমেন্টে একটি রুট এলিমেন্টের নাম আছে যা এলিমেন্টের সঠিক নাম সংক্রান্ত XML নিয়ম মেনে চলে না।

SAMLAssertion নীতি

এই বিভাগে, এই নীতি কোনও সমস্যার ট্রিগার করলে Edge-এর দ্বারা সেট করা ফল্ট কোড, সমস্যার মেসেজ এবং ফল্ট ভেরিয়েবল সম্পর্কে বর্ণনা করা হয়েছে। সমস্যা সমাধানের জন্য আপনি যদি ফল্ট রুল ডেভেলপ করেন, তাহলে এই তথ্য জানা আপনার জন্য গুরুত্বপূর্ণ। আরও জানতে, নীতি সংক্রান্ত সমস্যা সম্পর্কে আপনার যা জানা প্রয়োজন এবং ত্রুটি মোকাবেলা করা দেখুন।

ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা

এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।

সমস্যার নাম কারণ এর সমাধান করুন
SourceNotConfigured Validate SAML Assertion নীতির নিম্নলিখিত এক বা একাধিক এলিমেন্ট সংজ্ঞায়িত করা নেই বা খালি আছে: <Source>, <XPath>, <Namespaces>, <Namespace>.
TrustStoreNotConfigured <TrustStore> এলিমেন্ট খালি থাকলে অথবা ValidateSAMLAssertion নীতিতে উল্লেখ করা না থাকলে, API প্রক্সি ডেপ্লয় করা যায় না। সঠিক Trust Store থাকতে হবে।
NullKeyStoreAlias Generate SAML Assertion নীতির <Keystore> এলিমেন্টে চাইল্ড এলিমেন্ট <Alias> খালি থাকলে বা উল্লেখ করা না থাকলে, API প্রক্সি ডেপ্লয় করা যায় না। সঠিক Keystore alias প্রয়োজন।
NullKeyStore GenerateSAMLAssertion নীতির <Keystore> এলিমেন্টে চাইল্ড এলিমেন্ট <Name> খালি থাকলে বা উল্লেখ করা না থাকলে, API প্রক্সি ডেপ্লয় করা যায় না। সঠিক Keystore-এর নাম প্রয়োজন।
NullIssuer Generate SAML Assertion নীতিতে <Issuer> এলিমেন্ট খালি থাকলে বা উল্লেখ করা না থাকলে, API প্রক্সি ডেপ্লয় করা যায় না। A সঠিক <Issuer> ভ্যালু প্রয়োজন।

ফল্ট ভেরিয়েবল

রানটাইম এরর হলে এই ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।

ভেরিয়েবল কোথায় উদাহরণ
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

এইসব কারণে সমস্যা হতে পারে:

  • নীতিকে ভুল বা অন্য কোনওভাবে অবৈধ ইনপুট হ্যান্ডেল করতে বলা হয়।
  • ব্যাকএন্ড টার্গেট পরিষেবা একটি সমস্যার স্ট্যাটাস (সাধারণত, 4xx বা 5xx) ফেরত দেয়।
steps.servicecallout.RequestVariableNotMessageType 500 নীতিতে উল্লেখ করা অনুরোধ ভেরিয়েবলটি মেসেজ ধরনের নয়। যেমন, যদি এটি কোনও স্ট্রিং বা অন্য কোনও নন-মেসেজ টাইপ হয়, তাহলে আপনি এই সমস্যা দেখতে পাবেন।
steps.servicecallout.RequestVariableNotRequestMessageType 500 নীতিতে উল্লেখ করা অনুরোধ ভেরিয়েবলটি অনুরোধ মেসেজ ধরনের নয়। যেমন, এটি যদি'উত্তর' ধরনের হয়, তাহলে আপনি এই সমস্যা দেখতে পাবেন।

ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা

এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।

সমস্যার নাম কারণ এর সমাধান করুন
URLMissing <HTTPTargetConnection>-এর মধ্যে থাকা <URL> এলিমেন্ট নেই অথবা ফাঁকা রয়েছে।
ConnectionInfoMissing নীতিতে কোনও <HTTPTargetConnection> বা <LocalTargetConnection> এলিমেন্ট না থাকলে এই সমস্যা হয়।
InvalidTimeoutValue <Timeout>-এর ভ্যালু ঋণাত্মক বা শূন্য হলে এই সমস্যা হয়।

ফল্ট ভেরিয়েবল

রানটাইম এরর হলে এই ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।

ভেরিয়েবল কোথায় উদাহরণ
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 ফর্ম্যাটে স্পাইক অ্যারেস্ট রেট নির্দিষ্ট করতে ব্যবহার করা হয়।
policies.ratelimit.InvalidMessageWeight 500 ফ্লো ভেরিয়েবলের মাধ্যমে <MessageWeight> এলিমেন্টের জন্য নির্দিষ্ট করা ভ্যালু সঠিক না হলে (পূর্ণসংখ্যা নয় এমন ভ্যালু) এই সমস্যাটি হয়।
policies.ratelimit.SpikeArrestViolation 429

রেট লিমিট পেরিয়ে গেছে।

ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা

এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।

সমস্যার নাম কারণ এর সমাধান করুন
InvalidAllowedRate স্পাইক অ্যারেস্ট নীতিতে <Rate> এলিমেন্টে স্পাইক অ্যারেস্ট রেট পূর্ণসংখ্যা না হলে অথবা রেটের শেষে ps বা pm না থাকলে, API প্রক্সি ডেপ্লয় করা যায় না।

ফল্ট ভেরিয়েবল

রানটাইম এরর হলে এই ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।

ভেরিয়েবল কোথায় উদাহরণ
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.
InvalidName Statistics Collector নীতির <Statistic> এলিমেন্টের মধ্যে নির্দিষ্ট ভেরিয়েবলের জন্য সংগ্রহ করা ডেটা উল্লেখ করতে ব্যবহৃত নাম যদি সিস্টেম-সংজ্ঞায়িত ভেরিয়েবলের সাথে সংঘাতপূর্ণ হয়, তাহলে API প্রক্সি ডেপ্লয় করা যাবে না। পরিচিত সিস্টেম-ডিফাইন করা ভেরিয়েবলগুলির মধ্যে কিছু হল organization ও environment।
DatatypeMissing Statistics Collector নীতির <Statistic> এলিমেন্টে ref অ্যাট্রিবিউট দ্বারা নির্দিষ্ট করা ভেরিয়েবলের ধরন অনুপস্থিত থাকলে, API প্রক্সি ডেপ্লয় করা যায় না।

ফল্ট ভেরিয়েবল

কোনওটিই নয়।

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.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

ডেপ্লয়মেন্ট সংক্রান্ত অন্যান্য সম্ভাব্য সমস্যা।

ফল্ট ভেরিয়েবল

রানটাইম ত্রুটি ঘটলে এই ভেরিয়েবলগুলি সেট করা হয়। আরও তথ্যের জন্য, নীতি ত্রুটি সম্পর্কে আপনার যা জানা দরকার তা দেখুন।

ভেরিয়েবল যেখানে উদাহরণ
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.
InvalidTypeForAdditionalClaim <AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্ট <Claim>-এ ব্যবহৃত দাবিটি string, number, boolean বা map ধরনের না হলে, ডেপ্লয়মেন্ট ব্যর্থ হবে।
MissingNameForAdditionalClaim <AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্ট <Claim> -এ দাবির নাম উল্লেখ করা না থাকলে, ডিপ্লয়মেন্ট সম্পূর্ণ হবে না।
InvalidNameForAdditionalHeader <AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্টে <Claim> ব্যবহৃত দাবিটির নাম alg বা typ হলে এই সমস্যা হয়।
InvalidTypeForAdditionalHeader <AdditionalClaims> এলিমেন্টের <Claim> চাইল্ড এলিমেন্টে ব্যবহৃত দাবির ধরন string, number, boolean বা map ধরনের না হলে, ডেপ্লয়মেন্ট সফল হবে না।
InvalidValueOfArrayAttribute <AdditionalClaims> এলিমেন্টের চাইল্ড এলিমেন্ট <Claim>-এর মধ্যে থাকা অ্যারে অ্যাট্রিবিউটের ভ্যালু true বা false হিসেবে সেট করা না থাকলে এই সমস্যা হয়।
InvalidValueForElement <Algorithm> এলিমেন্টে উল্লেখ করা মান ব্যবহারযোগ্য না হলে, ডেপ্লয়মেন্ট সফল হবে না।
MissingConfigurationElement <PrivateKey> এলিমেন্ট RSA ফ্যামিলি অ্যালগরিদম অথবা <SecretKey> এলিমেন্ট HS ফ্যামিলি অ্যালগরিদমের সাথে ব্যবহার করা না হলে এই সমস্যা হবে।
InvalidKeyConfiguration <PrivateKey> বা <SecretKey> এলিমেন্টে চাইল্ড এলিমেন্ট <Value> নির্দিষ্ট করা না থাকলে, ডেপ্লয়মেন্ট সম্পূর্ণ হবে না।
EmptyElementForKeyConfiguration <Value> চাইল্ড এলিমেন্টের ref অ্যাট্রিবিউট <PrivateKey> বা <SecretKey> এলিমেন্ট খালি বা অনির্দিষ্ট হলে, ডেপ্লয়মেন্ট ব্যর্থ হবে।
InvalidConfigurationForVerify <Id> এলিমেন্টটি <SecretKey> এলিমেন্টের মধ্যে ডিফাইন করা থাকলে এই সমস্যা হয়।
InvalidEmptyElement Verify JWT নীতির <Source> এলিমেন্ট খালি থাকলে এই সমস্যা হয়। উপস্থিত থাকলে, এটিকে অবশ্যই Edge ফ্লো ভেরিয়েবলের নাম দিয়ে সংজ্ঞায়িত করতে হবে।
InvalidPublicKeyValue <PublicKey> এলিমেন্টের চাইল্ড এলিমেন্ট <JWKS>-এ ব্যবহৃত ভ্যালু RFC 7517-এ নির্দিষ্ট করা সঠিক ফর্ম্যাট ব্যবহার না করলে, ডেপ্লয়মেন্ট ব্যর্থ হবে।
InvalidConfigurationForActionAndAlgorithm HS ফ্যামিলি অ্যালগরিদমের সাথে <PrivateKey> এলিমেন্ট ব্যবহার করা হলে অথবা RSA ফ্যামিলি অ্যালগরিদমের সাথে <SecretKey> এলিমেন্ট ব্যবহার করা হলে, ডেপ্লয়মেন্ট কাজ করবে না।

ফল্ট ভেরিয়েবল

রানটাইম ত্রুটি ঘটলে এই ভেরিয়েবলগুলি সেট করা হয়। আরও তথ্যের জন্য, নীতি ত্রুটি সম্পর্কে আপনার যা জানা দরকার তা দেখুন।

ভেরিয়েবল যেখানে উদাহরণ
fault.name=" fault_name " fault_name হল ফল্টের নাম, যা উপরে রানটাইম ত্রুটির সারণীতে তালিকাভুক্ত করা হয়েছে। ফল্ট নামটি ফল্ট কোডের শেষ অংশ। fault.name Matches "TokenExpired"
JWT.failed সমস্ত JWT নীতি ব্যর্থতার ক্ষেত্রে একই পরিবর্তনশীল সেট করে। JWT.failed = true

উদাহরণ ত্রুটি প্রতিক্রিয়া

JWT পলিসি ফল্ট কোড

ত্রুটি পরিচালনার জন্য, সর্বোত্তম অনুশীলন হল ত্রুটি প্রতিক্রিয়ার 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 নীতি রানটাইম সংক্রান্ত সমস্যার সমাধান টপিকে সম্পূর্ণ তালিকা দেখতে পাবেন।
steps.xmlthreatprotection.InvalidXMLPayload 500 XMLThreatProtection নীতির <Source> এলিমেন্টে নির্দিষ্ট করা ইনপুট মেসেজ পেলোড সঠিক XML ডকুমেন্ট না হলে এই সমস্যা হয়।
steps.xmlthreatprotection.SourceUnavailable 500 message ভেরিয়েবলটি <Source> এলিমেন্টে উল্লেখ করা থাকলে এবং সেটি যদি:
  • স্কোপের বাইরে (যে নির্দিষ্ট ফ্লোতে নীতি প্রয়োগ করা হচ্ছে সেখানে উপলভ্য নয়)
  • request, response, বা message-এর মধ্যে কোনও একটি সঠিক ভ্যালু নয়
steps.xmlthreatprotection.NonMessageVariable 500 <Source> এলিমেন্টটি এমন ভেরিয়েবলে সেট করা থাকলে এই সমস্যা হয় যা মেসেজ টাইপের নয়।

মনে রাখবেন:

  • 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 ভুল বা ভুল ফর্ম্যাটে থাকলে এই সমস্যা হয়।
steps.xmltojson.InCompatibleType 500 <Source> এলিমেন্ট ও <OutputVariable> এলিমেন্টে ভেরিয়েবলের ধরন আলাদা হলে এই সমস্যা হয়। <Source> এলিমেন্ট ও <OutputVariable> এলিমেন্টের মধ্যে থাকা ভেরিয়েবলের ধরন একই হতে হবে।
steps.xmltojson.InvalidSourceType 500 <Source> এলিমেন্টকে সংজ্ঞায়িত করার জন্য ব্যবহৃত ভেরিয়েবলের ধরন ভুল হলে এই সমস্যা হয়। ভেরিয়েবলের সঠিক ধরন হল মেসেজ ও স্ট্রিং।
steps.xmltojson.OutputVariableIsNotAvailable 500 JSON নীতির XML-এর <Source> এলিমেন্টে নির্দিষ্ট করা ভেরিয়েবলটি যদি স্ট্রিং টাইপের হয় এবং <OutputVariable> এলিমেন্টটি যদি সংজ্ঞায়িত করা না থাকে, তাহলে এই সমস্যাটি হয়। <Source> এলিমেন্টে সংজ্ঞায়িত ভেরিয়েবলটি স্ট্রিং ধরনের হলে, <OutputVariable> এলিমেন্টটি বাধ্যতামূলক।
steps.xmltojson.SourceUnavailable 500 XML থেকে JSON নীতিতে <Source> এলিমেন্টে নির্দিষ্ট করা মেসেজ ভেরিয়েবলটি যদি:
  • স্কোপের বাইরে (যে নির্দিষ্ট ফ্লোতে নীতি প্রয়োগ করা হচ্ছে সেখানে উপলভ্য নয়) অথবা
  • সমাধান করা যাচ্ছে না (সংজ্ঞায়িত করা হয়নি)

ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা

এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।

সমস্যার নাম কারণ এর সমাধান করুন
EitherOptionOrFormat XML থেকে JSON নীতিতে <Options> বা <Format> এলিমেন্টগুলির মধ্যে একটিও ঘোষণা করা না থাকলে, API প্রক্সি ডিপ্লয় করা যায় না।
UnknownFormat XML থেকে JSON নীতিতে <Format> এলিমেন্টের মধ্যে কোনও অজানা ফর্ম্যাট নির্দিষ্ট করা থাকলে, API প্রক্সি ডেপ্লয় করা যায় না। আগে থেকে নির্দিষ্ট করা ফর্ম্যাটের মধ্যে এগুলি পড়ে: xml.com, yahoo, google এবং badgerFish.

ফল্ট ভেরিয়েবল

রানটাইম এরর হলে এই ভেরিয়েবল সেট করা হয়। আরও তথ্যের জন্য, নীতি সংক্রান্ত সমস্যার ব্যাপারে আপনার কী জানা প্রয়োজন দেখুন।

ভেরিয়েবল কোথায় উদাহরণ
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> এলিমেন্টে নির্দিষ্ট করা মেসেজ বা স্ট্রিং ভেরিয়েবল স্কোপের বাইরে থাকলে (যে নির্দিষ্ট ফ্লোতে নীতি এক্সিকিউট করা হচ্ছে সেখানে উপলভ্য না থাকলে) অথবা সমাধান করা না গেলে (সংজ্ঞায়িত করা না থাকলে) এই সমস্যা হয়।
steps.xsl.XSLEvaluationFailed 500 ইনপুট XML পেলোড উপলভ্য না থাকলে/ভুল ফর্ম্যাটে থাকলে অথবা XSLTransform নীতি XSL ফাইলে দেওয়া ট্রান্সফর্মেশন নিয়ম অনুযায়ী ইনপুট XML ফাইল ট্রান্সফর্ম করতে না পারলে/ব্যর্থ হলে এই সমস্যা হয়। XSLTransform নীতি কাজ না করার বিভিন্ন কারণ থাকতে পারে। সমস্যার মেসেজে ব্যর্থতার কারণ উল্লেখ করা থাকলে, তা থেকে কারণ সম্পর্কে আরও তথ্য পাওয়া যাবে।

ডিপ্লয়মেন্ট সংক্রান্ত সমস্যা

এই নীতি থাকা কোনও প্রক্সি আপনি প্রয়োগ করলে, এই সমস্যা হতে পারে।

সমস্যার নাম কারণ এর সমাধান করুন
XSLEmptyResourceUrl XSL ট্রান্সফর্ম নীতিতে <ResourceURL> এলিমেন্ট খালি থাকলে, API প্রক্সি ডেপ্লয় করা যায় না।
XSLInvalidResourceType XSL ট্রান্সফর্ম নীতিতে উল্লেখ করা রিসোর্স টাইপ <ResourceURL> এলিমেন্টটি xsl ধরনের না হলে, API প্রক্সি ডেপ্লয় করা যায় না।