درحال مشاهده اسناد Apigee Edge هستید.
به
اسناد Apigee X بروید. اطلاعات
خطمشی AccessControl
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطایی را که Edge هنگام راهاندازی خطا در این خطمشی تنظیم میکند شرح میدهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه میدهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدو رسیدگی به اشکالات را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای خطمشی رخ دهند.
| کد خطا | وضعیت HTTP | علت | رفع اشکال |
|---|---|---|---|
accesscontrol.IPDeniedAccess |
403 | نشانی IP کارخواه، یا نشانی IP که در درخواست API ارسال شده است، با نشانی IP مشخصشده در عنصر <SourceAddress> در عنصر <MatchRule> «خطمشی کنترل دسترسی» مطابقت داشته باشد، و مشخصه action عنصر <MatchRule> روی DENY تنظیم شده باشد. |
build |
متغیرهای خطا
این متغیرها زمانی تنظیم میشوند که خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، متغیرهای خاص خطاهای خطمشی را ببینید.
| متغیر | مکان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name نام خطا است، همانطور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. | fault.name Matches "IPDeniedAccess" |
acl.policy_name.failed |
policy_name نام مشخصشده کاربر برای خطمشیای است که خطا را ایجاد کرده است. | acl.AC-AllowAccess.failed = true |
نمونه پاسخ خطا
{
"fault":{
"faultstring":"Access Denied for client ip : 52.211.243.3"
"detail":{
"errorcode":"accesscontrol.IPDeniedAccess"
}
}
}قانون خطای نمونه
<FaultRule name="IPDeniedAccess">
<Step>
<Name>AM-IPDeniedAccess</Name>
<Condition>(fault.name Matches "IPDeniedAccess") </Condition>
</Step>
<Condition>(acl.failed = true) </Condition>
</FaultRule>خطمشی AccessEntity
برای اطلاعات مرتبط، به آنچه باید در مورد خطاهای خط مشی و خطاهای مدیریتی بدانید مراجعه کنید.
خطاهای زمان اجرا
هیچ یک.
خطاهای استقرار
| نام خطا | رشته خطا | وضعیت HTTP | زمانی رخ می دهد |
|---|---|---|---|
InvalidEntityType | Invalid type [entity_type] in ACCESSENTITYStepDefinition [policy_name] | N/A | نوع موجودیت مورد استفاده باید یکی از انواع پشتیبانی شده باشد. |
خطمشی AssignMessage
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطایی را که Edge هنگام راهاندازی خطا در این خطمشی تنظیم میکند شرح میدهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه میدهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدو رسیدگی به اشکالات را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای خطمشی رخ دهند.
| کد خطا | وضعیت HTTP | علت | رفع اشکال |
|---|---|---|---|
steps.assignmessage.SetVariableFailed |
۵۰۰ | خطمشی نتوانست متغیری را تنظیم کند. رشته خطا را برای نام متغیر حلنشده ببینید. | |
steps.assignmessage.VariableOfNonMsgType |
۵۰۰ |
اگر مشخصه متغیرهای نوع پیام نشاندهنده کل درخواستها و پاسخهای HTTP هستند. متغیرهای جریان داخلی Edge
|
build |
steps.assignmessage.UnresolvedVariable |
۵۰۰ |
این خطا زمانی رخ میدهد که متغیری که در خطمشی «اختصاص پیام» مشخص شده است یکی از این دو حالت را داشته باشد:
|
build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | علت | رفع اشکال |
|---|---|---|
InvalidIndex |
اگر شاخص مشخصشده در عناصر <Copy> و/یا <Remove> خطمشی «تخصیص پیام» صفر یا عددی منفی باشد،
استقرار «پراکسی API» ناموفق خواهد بود.
|
build |
InvalidVariableName |
اگر عنصر فرزند <Name> خالی باشد یا در عنصر <AssignVariable> مشخص نشده باشد،
استقرار پراکسی API ناموفق خواهد بود زیرا نام متغیر معتبری وجود ندارد که
مقدار به آن اختصاص داده شود. نام متغیر معتبری لازم است.
|
build |
InvalidPayload |
بار مشخصشده در خطمشی نامعتبر است. |
متغیرهای خطا
این متغیرها زمانی تنظیم میشوند که این خطمشی در زمان اجرا باعث بروز خطا شود. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانید را ببینید.
| متغیر | مکان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name نام خطا است، همانطور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. | fault.name Matches "UnresolvedVariable" |
assignmessage.policy_name.failed |
policy_name نام مشخصشده کاربر برای خطمشیای است که خطا را ایجاد کرده است. | assignmessage.AM-SetResponse.failed = true |
نمونه پاسخ خطا
{ "fault":{ "detail":{ "errorcode":"steps.assignmessage.VariableOfNonMsgType" }, "faultstring":"AssignMessage[AM-SetResponse]: value of variable is not of type Message" } }
قانون خطای نمونه
<FaultRule name="Assign Message Faults"> <Step> <Name>AM-CustomNonMessageTypeErrorResponse</Name> <Condition>(fault.name Matches "VariableOfNonMsgType") </Condition> </Step> <Step> <Name>AM-CustomSetVariableErrorResponse</Name> <Condition>(fault.name = "SetVariableFailed")</Condition> </Step> <Condition>(assignmessage.failed = true) </Condition> </FaultRule>
خطمشی BasicAuthentication
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطایی را که Edge هنگام راهاندازی خطا در این خطمشی تنظیم میکند شرح میدهد. این اطلاعات برای زمانی که درحال توسعه قوانین خطا برای مدیریت خطاها هستید مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدو رسیدگی به اشکالات را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای خطمشی رخ دهند.
| کد خطا | وضعیت HTTP | علت | رفع اشکال |
|---|---|---|---|
steps.basicauthentication.InvalidBasicAuthenticationSource |
۵۰۰ | در رمزگشایی، زمانیکه رشته کدبندیشده Base64 ورودی مقدار معتبری نداشته باشد یا سرایند بدساخته باشد (برای نمونه، با «Basic» شروع نشود). | build |
steps.basicauthentication.UnresolvedVariable |
۵۰۰ | متغیرهای منبع موردنیاز برای رمزگشایی یا کدبندی وجود ندارد. این خطا فقط درصورتی رخ میدهد که IgnoreUnresolvedVariables نادرست باشد. |
build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | وقتی رخ میدهد | رفع اشکال |
|---|---|---|
UserNameRequired |
عنصر <User> باید برای عملیات نامگذاریشده وجود داشته باشد. |
build |
PasswordRequired |
عنصر <Password> باید برای عملیات نامگذاریشده وجود داشته باشد. |
build |
AssignToRequired |
عنصر <AssignTo> باید برای عملیات نامگذاریشده وجود داشته باشد. |
build |
SourceRequired |
عنصر <Source> باید برای عملیات نامگذاریشده وجود داشته باشد. |
build |
متغیرهای خطا
این متغیرها زمانی تنظیم میشوند که خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدرا ببینید.
| متغیر | مکان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name نام خطا است، همانطور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. | fault.name Matches "UnresolvedVariable" |
BasicAuthentication.policy_name.failed |
policy_name نام مشخصشده کاربر برای خطمشیای است که خطا را ایجاد کرده است. | BasicAuthentication.BA-Authenticate.failed = true |
نمونه پاسخ خطا
{ "fault":{ "detail":{ "errorcode":"steps.basicauthentication.UnresolvedVariable" }, "faultstring":"Unresolved variable : request.queryparam.password" } }
قانون خطای نمونه
<FaultRule name="Basic Authentication Faults">
<Step>
<Name>AM-UnresolvedVariable</Name>
<Condition>(fault.name Matches "UnresolvedVariable") </Condition>
</Step>
<Step>
<Name>AM-AuthFailedResponse</Name>
<Condition>(fault.name = "InvalidBasicAuthenticationSource")</Condition>
</Step>
<Condition>(BasicAuthentication.BA-Authentication.failed = true) </Condition>
</FaultRule>خطمشی ConcurrentRateLimit
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطایی را که Edge هنگام راهاندازی خطا در این خطمشی تنظیم میکند شرح میدهد. این اطلاعات برای زمانی که درحال توسعه قوانین خطا برای مدیریت خطاها هستید مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدو رسیدگی به اشکالات را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای خطمشی رخ دهند.
| کد خطا | وضعیت HTTP | وقتی رخ میدهد |
|---|---|---|
policies.concurrentratelimit.ConcurrentRatelimtViolation |
۵۰۳ |
اتصال «محدودیت نرخ همزمان» ازحد مجاز فراتر رفت. محدودیت اتصال : {0} توجه: کد «خطا» نشاندادهشده در سمت راست صحیح است، اگرچه املای آن اشتباه است («limt»). هنگام ایجاد قوانین خطا برای بهدام انداختن این خطا، حتماً از کد دقیقاً همانطور که در اینجا نشان داده شده است استفاده کنید. |
خطاهای استقرار
| نام خطا | وقتی رخ میدهد |
|---|---|
InvalidCountValue |
مقدار تعداد نامعتبری برای ConcurrentRatelimit مشخص شده است. |
ConcurrentRatelimitStepAttachment\ |
خطمشی محدودیت نرخ همزمان {0} پیوست در مسیرهای درخواست/پاسخ/خطا در پراکسی مجاز نیست. این خطمشی باید در «نقطه پایانی هدف» قرار داده شود. |
ConcurrentRatelimitStepAttachment\ |
خطمشی نرخ محدود همزمان {0} پیوست در مسیرهای درخواست/پاسخ/خطا هدف وجود ندارد. این خطمشی باید در «جریان پیشاز درخواست هدف»، «جریان پساز پاسخ هدف»، و «قانون خطای پیشفرض» قرار گیرد. |
InvalidTTLForMessageTimeOut |
مقدار ttl نامعتبر برای مهلت زمانی پیام ConcurrentRatelimit مشخص شده است. باید عدد صحیح مثبت باشد. |
متغیرهای خطا
این متغیرها زمانی تنظیم میشوند که این خطمشی باعث ایجاد خطا شود. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدرا ببینید.
| متغیر | مکان | مثال |
|---|---|---|
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 | JSON نامعتبر در سرایند JWS پیدا شد. |
steps.jws.InvalidJws |
401 | این خطا زمانی رخ میدهد که درستیسنجی امضای JWS ناموفق باشد. |
steps.jws.InvalidPayload |
401 | بار JWS نامعتبر است. |
steps.jws.InvalidSignature |
401 | <DetachedContent> حذف شده است و JWS دارای پایهبار محتوای جداشده است. |
steps.jws.MissingPayload |
401 | بار JWS وجود ندارد. |
steps.jws.NoAlgorithmFoundInHeader |
401 | وقتی JWS سرایند الگوریتم را حذف میکند رخ میدهد. |
steps.jws.UnknownException |
401 | استثنای ناشناختهای روی داد. |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | وقتی رخ میدهد |
|---|---|
InvalidAlgorithm |
تنها مقادیر معتبر عبارتاند از: RS256، RS384، RS512، PS256، PS384، PS512، ES256، ES384، ES512، HS256، HS384، HS512. |
|
|
سایر خطاهای احتمالی استقرار. |
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که یک خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.
| متغیرها | کجا | مثال |
|---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | fault.name Matches "TokenExpired" |
JWS.failed | همه خط مشی های JWS در صورت خرابی یک متغیر را تنظیم می کنند. | jws.JWS-Policy.failed = true |
نمونه پاسخ خطا
برای رسیدگی به خطا، بهترین روش به دام انداختن قسمت errorcode در پاسخ به خطا است. به متن موجود در faultstring تکیه نکنید، زیرا ممکن است تغییر کند.
مثال قانون خطا
<FaultRules>
<FaultRule name="JWS Policy Errors">
<Step>
<Name>JavaScript-1</Name>
<Condition>(fault.name Matches "TokenExpired")</Condition>
</Step>
<Condition>JWS.failed=true</Condition>
</FaultRule>
</FaultRules>خطمشی DecodeJWT
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطایی را که Edge هنگام راهاندازی خطا در این خطمشی تنظیم میکند شرح میدهد. این اطلاعات برای زمانی که درحال توسعه قوانین خطا برای مدیریت خطاها هستید مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانید و رسیدگی به اشکالات را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای خطمشی رخ دهند.
| کد خطا | وضعیت HTTP | علت | رفع اشکال |
|---|---|---|---|
steps.jwt.FailedToDecode |
401 | وقتی خطمشی نتواند JWT را کدگشایی کند رخ میدهد. JWT ممکن است ساختار نادرست، نامعتبر، یا بهصورت دیگری غیرقابل رمزگشایی باشد. | build |
steps.jwt.FailedToResolveVariable |
401 | زمانی رخ میدهد که متغیر جاری مشخصشده در عنصر <Source> خطمشی وجود نداشته باشد. |
|
steps.jwt.InvalidToken |
401 | زمانی رخ میدهد که متغیر جاری مشخصشده در عنصر <Source> خطمشی خارج از محدوده باشد یا قابلحل نباشد. |
build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | علت | رفع اشکال |
|---|---|---|
InvalidEmptyElement |
زمانی رخ میدهد که متغیر جاریسازی حاوی JWT برای رمزگشایی در عنصر
<Source> خطمشی مشخص نشده باشد.
|
build |
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که یک خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.
| متغیرها | کجا | مثال |
|---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | fault.name Matches "TokenExpired" |
JWT.failed | همه خط مشی های JWT متغیرهای یکسانی را در صورت خرابی تنظیم می کنند. | JWT.failed = true |
نمونه پاسخ خطا
برای رسیدگی به خطا، بهترین روش به دام انداختن قسمت errorcode در پاسخ به خطا است. به متن موجود در faultstring تکیه نکنید، زیرا ممکن است تغییر کند.
مثال قانون خطا
<FaultRules>
<FaultRule name="JWT Policy Errors">
<Step>
<Name>JavaScript-1</Name>
<Condition>(fault.name Matches "TokenExpired")</Condition>
</Step>
<Condition>JWT.failed=true</Condition>
</FaultRule>
</FaultRules>
خطمشی ExtractVariables
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطایی را که Edge هنگام راهاندازی خطا در این خطمشی تنظیم میکند شرح میدهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه میدهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدو رسیدگی به اشکالات را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای خطمشی رخ دهند.
| کد خطا | وضعیت HTTP | علت | رفع اشکال |
|---|---|---|---|
steps.extractvariables.ExecutionFailed |
۵۰۰ |
این خطا زمانی رخ میدهد که:
|
build |
steps.extractvariables.ImmutableVariable |
۵۰۰ | متغیری که در خطمشی استفاده شده است تغییرناپذیر است. خطمشی نتوانست این متغیر را تنظیم کند. | |
steps.extractvariables.InvalidJSONPath |
۵۰۰ | این خطا زمانی رخ میدهد که مسیر JSON نامعتبر در عنصر JSONPath خطمشی
استفاده شود. برای مثال، اگر بار JSON شیء Name را نداشته باشد،
اما Name را بهعنوان مسیر در خطمشی مشخص کنید، این خطا رخ میدهد. |
build |
steps.extractvariables.JsonPathParsingFailure |
۵۰۰ | این خطا زمانی رخ میدهد که خطمشی نتواند مسیر JSON را تجزیه کند و
دادهها را از متغیر جاری مشخصشده در عنصر Source استخراج کند. معمولاً این اتفاق زمانی میافتد که متغیر جاریسازی مشخصشده در عنصر Source در جاریسازی کنونی وجود نداشته باشد. |
build |
steps.extractvariables.SetVariableFailed |
۵۰۰ | این خطا زمانی رخ میدهد که خطمشی نتواند مقدار را روی متغیر تنظیم کند. این خطا معمولاً زمانی رخ میدهد که سعی میکنید مقادیر را به چندین متغیر اختصاص دهید که نام آنها با کلمات یکسان در قالب نقطهای تو در تو شروع میشود. | build |
steps.extractvariables.SourceMessageNotAvailable |
۵۰۰ | این خطا زمانی رخ میدهد که متغیر پیام
مشخصشده در عنصر Source خطمشی
یا:
|
build |
steps.extractvariables.UnableToCast |
۵۰۰ | اگر خطمشی نتواند مقدار استخراجشده را به متغیری تبدیل کند، این خطا رخ میدهد. معمولاً این اتفاق زمانی میافتد که سعی کنید مقدار یک نوع داده را روی متغیری از نوع داده دیگر تنظیم کنید. | build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | علت | رفع اشکال |
|---|---|---|
NothingToExtract |
اگر خطمشی هیچیک از عناصر URIPath، QueryParam،
Header، FormParam، XMLPayload، یا JSONPayload را نداشته باشد،
استقرار «پراکسی میانای برنامهسازی کاربردی» ناموفق خواهد بود، زیرا چیزی برای استخراج وجود ندارد. |
build |
NONEmptyPrefixMappedToEmptyURI |
این خطا زمانی رخ میدهد که خطمشی پیشوندی داشته باشد که در عنصر
Namespace تحت عنصر XMLPayload تعریف شده است، اما هیچ نشانی وب یکنواختی
تعریف نشده باشد. |
build |
DuplicatePrefix |
این خطا زمانی رخ میدهد که پیشوند یکسانی در خطمشی بیشاز
یکبار در عنصر Namespace تحت عنصر XMLPayload تعریف شده باشد. |
build |
NoXPathsToEvaluate |
اگر خطمشی عنصر XPath را در عنصر
XMLPayload نداشته باشد، استقرار پراکسی API با این خطا ناموفق خواهد بود.
|
build |
EmptyXPathExpression |
اگر خطمشی دارای عبارت XPath خالی در عنصر XMLPayload
باشد، استقرار پراکسی API ناموفق خواهد بود. |
build |
NoJSONPathsToEvaluate |
اگر خطمشی عنصر JSONPath را در عنصر
JSONPayload نداشته باشد، استقرار پراکسی API با این خطا ناموفق خواهد بود. |
build |
EmptyJSONPathExpression |
اگر خطمشی دارای عبارت XPath خالی در عنصر
XMLPayload باشد، استقرار پراکسی API ناموفق خواهد بود. |
build |
MissingName |
اگر خطمشی در هیچیک از عناصر خطمشی مثل QueryParam، Header، FormParam، یا Variable ویژگی name را نداشته باشد، درحالیکه این ویژگی الزامی است، استقرار پراکسی API ناموفق خواهد بود. |
build |
PatternWithoutVariable |
اگر خطمشی متغیری را در عنصر Pattern مشخص نکرده باشد،
استقرار پراکسی API ناموفق خواهد بود. عنصر Pattern به نام متغیری نیاز دارد که
دادههای استخراجشده در آن ذخیره خواهد شد. |
build |
CannotBeConvertedToNodeset |
اگر خطمشی دارای عبارت XPath باشد که در آن نوع Variable
بهصورت nodeset تعریف شده باشد،
اما عبارت نتواند به nodeset تبدیل شود، استقرار پراکسی API ناموفق خواهد بود. |
build |
JSONPathCompilationFailed |
خطمشی نتوانست «مسیر JSON» مشخصشده را تدوین کند. | |
InstantiationFailed |
خطمشی نمونهسازی نشد. | |
XPathCompilationFailed |
اگر پیشوند یا مقدار استفادهشده در عنصر XPath بخشی از هیچیک از
فضاهای نام اعلامشده در خطمشی نباشد، استقرار پراکسی API
ناموفق خواهد بود. |
build |
InvalidPattern |
اگر تعریف عنصر Pattern در هریک از عناصر مثل URIPath،
QueryParam، Header، FormParam، XMLPayload
یا JSONPayload در خطمشی نامعتبر باشد، استقرار
کارگزار میانهای API ناموفق خواهد بود.
|
build |
متغیرهای خطا
این متغیرها زمانی تنظیم میشوند که این خطمشی در زمان اجرا باعث بروز خطا شود. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانید را ببینید.
| متغیر | مکان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name نام خطا است، همانطور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. | fault.name = "SourceMessageNotAvailable" |
extractvariables.policy_name.failed |
policy_name نام مشخصشده کاربر برای خطمشیای است که خطا را ایجاد کرده است. | extractvariables.EV-ParseJsonResponse.failed = true |
نمونه پاسخ خطا
{ "fault":{ "detail":{ "errorcode":"steps.extractvariables.SourceMessageNotAvailable" }, "faultstring":"request message is not available for ExtractVariable: EV-ParseJsonResponse" } }
قانون خطای نمونه
<FaultRule name="Extract Variable Faults"> <Step> <Name>AM-CustomErrorMessage</Name> <Condition>(fault.name = "SourceMessageNotAvailable") </Condition> </Step> <Condition>(extractvariables.EM-ParseJsonResponse.failed = true) </Condition> </FaultRule>
خطمشی GenerateJWS
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطایی را که Edge هنگام راهاندازی خطا در این خطمشی تنظیم میکند شرح میدهد. این اطلاعات برای زمانی که درحال توسعه قوانین خطا برای مدیریت خطاها هستید مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانید و رسیدگی به خطاها را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای خطمشی رخ دهند.
| کد خطا | وضعیت HTTP | وقتی رخ میدهد |
|---|---|---|
steps.jws.GenerationFailed |
401 | خطمشی نتوانست JWS را تولید کند. |
steps.jws.InsufficientKeyLength |
401 | برای کلید کمتر از ۳۲ بایت برای الگوریتم HS256 |
steps.jws.InvalidClaim |
401 | برای ادعای مالکیت گمشده یا عدم تطابق ادعای مالکیت، یا سرایند گمشده یا عدم تطابق سرایند. |
steps.jws.InvalidCurve |
401 | منحنی مشخصشده توسط کلید برای الگوریتم «منحنی بیضوی» معتبر نیست. |
steps.jws.InvalidJsonFormat |
401 | JSON نامعتبر در سرایند 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.SigningFailed |
401 | در GenerateJWS، برای کلیدی که کمتر از اندازه حداقل برای الگوریتمهای HS384 یا HS512 است |
steps.jws.UnknownException |
401 | استثنای ناشناختهای روی داد. |
steps.jws.WrongKeyType |
401 | نوع کلید مشخصشده اشتباه است. برای مثال، اگر کلید RSA را برای الگوریتم «منحنی بیضوی» یا کلید منحنی را برای الگوریتم RSA مشخص کنید. |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | وقتی رخ میدهد |
|---|---|
InvalidAlgorithm |
تنها مقادیر معتبر عبارتاند از: RS256، RS384، RS512، PS256، PS384، PS512، ES256، ES384، ES512، HS256، HS384، HS512. |
|
|
سایر خطاهای احتمالی استقرار. |
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که یک خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.
| متغیرها | کجا | مثال |
|---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | 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 | سرایندی که خطمشی «درستیسنجی JWT» در سرایند crit پیدا کرده است
در KnownHeaders فهرست نشده است. |
steps.jwt.UnknownException |
401 | استثنای ناشناختهای روی داد. |
steps.jwt.WrongKeyType |
401 | نوع کلید مشخصشده اشتباه است. برای مثال، اگر کلید RSA را برای الگوریتم «منحنی بیضوی» یا کلید منحنی را برای الگوریتم RSA مشخص کنید. |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | علت | رفع اشکال |
|---|---|---|
InvalidNameForAdditionalClaim |
اگر ادعای استفادهشده در عنصر فرزند <Claim>
عنصر <AdditionalClaims> یکی از نامهای ثبتشده زیر باشد، استقرار ناموفق خواهد بود:
kid، iss، sub، aud، iat،
exp، nbf، یا jti.
|
build |
InvalidTypeForAdditionalClaim |
اگر ادعای استفادهشده در عنصر فرزند <Claim>
عنصر <AdditionalClaims> از نوع string، number،
boolean، یا map نباشد، استقرار ناموفق خواهد بود.
|
build |
MissingNameForAdditionalClaim |
اگر نام ادعا در عنصر فرزند <Claim>
عنصر <AdditionalClaims> مشخص نشده باشد، استقرار ناموفق خواهد بود.
|
build |
InvalidNameForAdditionalHeader |
این خطا زمانی رخ میدهد که نام ادعای استفادهشده در عنصر فرزند <Claim>
عنصر <AdditionalClaims> یا alg یا typ باشد.
|
build |
InvalidTypeForAdditionalHeader |
اگر نوع ادعای استفادهشده در عنصر فرزند <Claim>
عنصر <AdditionalClaims> از نوع string، number،
boolean، یا map نباشد، استقرار ناموفق خواهد بود.
|
build |
InvalidValueOfArrayAttribute |
این خطا زمانی رخ میدهد که مقدار مشخصه آرایه در عنصر فرزند <Claim>
عنصر <AdditionalClaims> روی true یا false تنظیم نشده باشد.
|
build |
InvalidConfigurationForActionAndAlgorithm |
اگر عنصر <PrivateKey> با الگوریتمهای «خانواده HS» استفاده شود یا
عنصر <SecretKey> با الگوریتمهای «خانواده RSA» استفاده شود،
استقرار ناموفق خواهد بود.
|
build |
InvalidValueForElement |
اگر مقدار مشخصشده در عنصر <Algorithm> مقدار پشتیبانیشدهای نباشد،
استقرار ناموفق خواهد بود.
|
build |
MissingConfigurationElement |
اگر عنصر <PrivateKey> با الگوریتمهای خانواده RSA استفاده نشود یا عنصر <SecretKey> با الگوریتمهای خانواده HS استفاده نشود، این خطا رخ میدهد.
|
build |
InvalidKeyConfiguration |
اگر عنصر فرزند <Value> در عناصر <PrivateKey>
یا <SecretKey> تعریف نشده باشد، استقرار ناموفق خواهد بود.
|
build |
EmptyElementForKeyConfiguration |
اگر مشخصه ref عنصر فرزند <Value> عنصر <PrivateKey>
یا <SecretKey> خالی یا نامشخص باشد، استقرار ناموفق خواهد بود.
|
build |
InvalidVariableNameForSecret |
این خطا زمانی رخ میدهد که نام متغیر جاریسازی مشخصشده در مشخصه ref عنصر فرزند
<Value> از عناصر <PrivateKey>
یا <SecretKey> پیشوند خصوصی (private.) را نداشته باشد.
|
build |
InvalidSecretInConfig |
این خطا زمانی رخ میدهد که عنصر فرزند <Value> از عناصر <PrivateKey>
یا <SecretKey> پیشوند خصوصی (private.) را نداشته باشد.
|
build |
InvalidTimeFormat |
اگر مقدار مشخصشده در عنصر <NotBefore> از قالب پشتیبانیشدهای استفاده نکند،
استقرار ناموفق خواهد بود.
|
build |
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که یک خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.
| متغیرها | کجا | مثال |
|---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | fault.name Matches "TokenExpired" |
JWT.failed | همه خط مشی های JWT متغیرهای یکسانی را در صورت خرابی تنظیم می کنند. | JWT.failed = true |
نمونه پاسخ خطا
برای رسیدگی به خطا، بهترین روش به دام انداختن قسمت errorcode در پاسخ به خطا است. به متن موجود در faultstring تکیه نکنید، زیرا ممکن است تغییر کند.
مثال قانون خطا
<FaultRules>
<FaultRule name="JWT Policy Errors">
<Step>
<Name>JavaScript-1</Name>
<Condition>(fault.name Matches "TokenExpired")</Condition>
</Step>
<Condition>JWT.failed=true</Condition>
</FaultRule>
</FaultRules>
خطمشی JavaCallout
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
| کد خطا | وضعیت HTTP | علت | رفع کنید |
|---|---|---|---|
steps.javacallout.ExecutionError | 500 | زمانی اتفاق میافتد که کد جاوا در طول اجرای یک خطمشی JavaCallout یک استثنا ایجاد میکند یا null را برمیگرداند. | build |
خطاهای استقرار
این خطاها می توانند زمانی رخ دهند که پروکسی حاوی خط مشی مستقر است.
| نام خطا | رشته خطا | وضعیت HTTP | زمانی رخ می دهد |
|---|---|---|---|
ResourceDoesNotExist | Resource with name [name] and type [type] does not exist | N/A | فایل مشخص شده در عنصر <ResourceURL> وجود ندارد. |
JavaCalloutInstantiationFailed | Failed to instantiate the JavaCallout Class [classname] | N/A | فایل کلاس مشخص شده در عنصر <ClassName> در jar نیست. |
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 نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | 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>
خطمشی جاوا اسکریپت
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
| کد خطا | وضعیت HTTP | علت | رفع کنید |
|---|---|---|---|
steps.javascript.ScriptExecutionFailed | 500 | خط مشی جاوا اسکریپت می تواند انواع مختلفی از خطاهای ScriptExecutionFailed را ایجاد کند. انواع خطاهای رایج عبارتند از RangeError ، ReferenceError ، SyntaxError ، TypeError و URIError . | build |
steps.javascript.ScriptExecutionFailedLineNumber | 500 | خطایی در کد جاوا اسکریپت رخ داد. برای جزئیات بیشتر به رشته خطا مراجعه کنید. | N/A |
steps.javascript.ScriptSecurityError | 500 | هنگام اجرای جاوا اسکریپت یک خطای امنیتی روی داد. برای جزئیات بیشتر به رشته خطا مراجعه کنید. | N/A |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.
| نام خطا | علت | رفع کنید |
|---|---|---|
InvalidResourceUrlFormat | اگر قالب URL منبع مشخص شده در <ResourceURL> یا عنصر <IncludeURL> خط مشی جاوا اسکریپت نامعتبر باشد، در این صورت استقرار پروکسی API با شکست مواجه می شود. | build |
InvalidResourceUrlReference | اگر عناصر <ResourceURL> یا <IncludeURL> به یک فایل جاوا اسکریپت اشاره می کنند که وجود ندارد، در این صورت استقرار پروکسی API با شکست مواجه می شود. فایل منبع ارجاع شده باید در سطح پروکسی API، محیط یا سطح سازمان باشد. | build |
WrongResourceType | اگر عناصر <ResourceURL> یا <IncludeURL> خط مشی جاوا اسکریپت به هر نوع منبعی غیر از jsc (فایل جاوا اسکریپت) اشاره داشته باشند، این خطا در حین استقرار رخ می دهد. | build |
NoResourceURLOrSource | اگر عنصر <ResourceURL> اعلان نشده باشد یا URL منبع در این عنصر تعریف نشده باشد، استقرار خط مشی جاوا اسکریپت می تواند با این خطا شکست بخورد. عنصر <ResourceURL> یک عنصر اجباری است. یا، عنصر <IncludeURL> اعلام شده است اما URL منبع در این عنصر تعریف نشده است. عنصر <IncludeURL> اختیاری است، اما اگر اعلام شود، URL منبع باید در عنصر <IncludeURL> مشخص شود. | build |
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که این خط مشی خطایی را در زمان اجرا ایجاد کند. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.
| متغیرها | کجا | مثال |
|---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | 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
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
| کد خطا | وضعیت HTTP | علت | رفع کنید |
|---|---|---|---|
steps.jsonthreatprotection.ExecutionFailed | 500 | خط مشی JSONThreatProtection می تواند انواع مختلفی از خطاهای ExecutionFailed را ایجاد کند. بیشتر این خطاها زمانی رخ میدهند که از یک آستانه مشخص در خطمشی تجاوز کند. این نوع خطاها عبارتند از: طول نام ورودی شیء ، تعداد ورودی شیء ، تعداد عناصر آرایه ، عمق ظرف ، طول مقدار رشته رشته . این خطا همچنین زمانی رخ میدهد که payload دارای یک شی JSON نامعتبر باشد. | build |
steps.jsonthreatprotection.SourceUnavailable | 500 | این خطا در صورتی رخ می دهد که متغیر پیام مشخص شده در عنصر <Source> یکی از این موارد باشد:
| build |
steps.jsonthreatprotection.NonMessageVariable | 500 | این خطا در صورتی رخ می دهد که عنصر <Source> روی متغیری تنظیم شود که از نوع پیام نیست. | build |
خطاهای استقرار
هیچ کدام
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که این خط مشی خطایی را ایجاد کند. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.
| متغیرها | کجا | مثال |
|---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | 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 |
۵۰۰ | پایهبار ورودی (JSON) خالی است یا ورودی (JSON) که به خطمشی JSON به XML ارسال شده است نامعتبر یا بدشکل است. | build |
steps.jsontoxml.InCompatibleTypes |
۵۰۰ | این خطا زمانی رخ میدهد که نوع متغیر تعریفشده در عنصر <Source> و عنصر <OutputVariable> یکسان نباشد. الزامی است که نوع متغیرهای
موجود در عنصر <Source> و عنصر <OutputVariable>
مطابقت داشته باشد. انواع معتبر عبارتاند از message و string. |
build |
steps.jsontoxml.InvalidSourceType |
۵۰۰ | اگر نوع متغیر استفادهشده برای تعریف عنصر <Source> نامعتبر باشد، این خطا رخ میدهد. انواع معتبر متغیر message و string است. |
build |
steps.jsontoxml.OutputVariableIsNotAvailable |
۵۰۰ | این خطا زمانی رخ میدهد که متغیر مشخصشده در عنصر <Source> از JSON به
«خطمشی زبان نشانهگذاری توسعهپذیر» از نوع رشته باشد و عنصر <OutputVariable> تعریف نشده باشد.
وقتی متغیر تعریفشده در عنصر <Source>
از نوع رشته باشد، عنصر <OutputVariable> اجباری است. |
build |
steps.jsontoxml.SourceUnavailable |
۵۰۰ |
این خطا زمانی رخ میدهد که متغیر پیام
مشخصشده در عنصر <Source> خطمشی JSON به XML یکی از موارد زیر باشد:
|
build |
خطاهای استقرار
هیچکدام.
متغیرهای خطا
این متغیرها زمانی تنظیم میشوند که خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدرا ببینید.
| متغیر | مکان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name نام خطا است، همانطور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. | fault.name Matches "SourceUnavailable" |
jsontoxml.policy_name.failed |
policy_name نام مشخصشده کاربر برای خطمشیای است که خطا را ایجاد کرده است. | jsontoxml.JSON-to-XML-1.failed = true |
نمونه پاسخ خطا
{
"fault": {
"faultstring": "JSONToXML[JSON-to-XML-1]: Source xyz is not available",
"detail": {
"errorcode": "steps.json2xml.SourceUnavailable"
}
}
}قانون خطای نمونه
<FaultRule name="JSON To XML Faults">
<Step>
<Name>AM-SourceUnavailableMessage</Name>
<Condition>(fault.name Matches "SourceUnavailable") </Condition>
</Step>
<Step>
<Name>AM-BadJSON</Name>
<Condition>(fault.name = "ExecutionFailed")</Condition>
</Step>
<Condition>(jsontoxml.JSON-to-XML-1.failed = true) </Condition>
</FaultRule>خطمشی KeyValueMapOperations
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطایی را که Edge هنگام راهاندازی خطا در این خطمشی تنظیم میکند شرح میدهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه میدهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدو رسیدگی به اشکالات را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای خطمشی رخ دهند.
| کد خطا | وضعیت HTTP | علت | رفع اشکال |
|---|---|---|---|
steps.keyvaluemapoperations.SetVariableFailed |
۵۰۰ |
اگر بخواهید مقداری را از نقشه مقدار کلید رمزگذاریشده بازیابی کنید و مقدار را روی متغیری تنظیم کنید که نام آن پیشوند |
build |
steps.keyvaluemapoperations.UnsupportedOperationException |
۵۰۰ |
اگر مشخصه |
build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | علت | رفع اشکال |
|---|---|---|
InvalidIndex |
اگر مشخصه index مشخصشده در عنصر <Get> خطمشی «عملیات نقشه مقدار کلید» صفر یا عددی منفی باشد،
استقرار پراکسی API ناموفق خواهد بود. شاخص از
1 شروع میشود، بنابراین شاخص صفر یا عدد صحیح منفی نامعتبر درنظر گرفته میشود.
|
build |
KeyIsMissing |
این خطا زمانی رخ میدهد که عنصر <Key> بهطور کامل وجود نداشته باشد یا عنصر <Parameter> در عنصر <Key> در زیر <Entry> عنصر <InitialEntries> خطمشی «عملیات نقشه مقدار کلید» وجود نداشته باشد.
|
build |
ValueIsMissing |
این خطا زمانی رخ میدهد که عنصر <Value> در زیر عنصر <Entry>
عنصر <InitialEntries> در خطمشی «عملیات نقشه مقدار کلید» وجود نداشته باشد. |
build |
خطمشی LDAP
این خط مشی از کدهای خطای زیر استفاده می کند:
| کد خطا | پیام |
|---|---|
InvalidAttributeName | Invalid attribute name {0}. |
InvalidSearchBase | Search base can not be empty. |
InvalidValueForPassword | Invalid value for password field. It can not be empty. |
InvalidSearchScope | Invalid scope {0}. Allowed scopes are {1}. |
InvalidUserCredentials | Invalid user credentials. |
InvalidExternalLdapReference | Invalid external ldap reference {0}. |
LdapResourceNotFound | Ldap resource {0} not found. |
BaseDNRequired | Base DN required. |
OnlyReferenceOrValueIsAllowed | Only value or reference is allowed for {0}. |
AttributesRequired | At least one attribute required for search action. |
UserNameIsNull | User name is null. |
SearchQueryAndUserNameCannotBePresent | Both search query and username can not be present in the authentication action. Please specify either one of them. |
خطمشی MessageLogging
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطایی را که Edge هنگام راهاندازی خطا در این خطمشی تنظیم میکند شرح میدهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه میدهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدو رسیدگی به اشکالات را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای خطمشی رخ دهند.
| کد خطا | وضعیت HTTP | علت |
|---|---|---|
steps.messagelogging.StepDefinitionExecutionFailed |
۵۰۰ | رشته خطا را ببینید. |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | علت | رفع اشکال |
|---|---|---|
InvalidProtocol |
اگر پروتکل مشخصشده در عنصر <Protocol> معتبر نباشد، استقرار خطمشی MessageLogging میتواند با این خطا ناموفق باشد. پروتکلهای معتبر عبارتاند از TCP و UDP.
برای ارسال پیامهای syslog ازطریق TLS/SSL، فقط از TCP پشتیبانی میشود. |
build |
InvalidPort |
اگر شماره درگاه در عنصر <Port> مشخص نشده باشد یا معتبر نباشد، استقرار خطمشی MessageLogging ممکن است با این خطا ناموفق باشد. شماره درگاه باید
عدد صحیحی بزرگتر از صفر باشد. |
build |
متغیرهای خطا
این متغیرها زمانی تنظیم میشوند که خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدرا ببینید.
| متغیر | مکان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name نام خطا است، همانطور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. | fault.name Matches "StepDefinitionExecutionFailed" |
messagelogging.policy_name.failed |
policy_name نام مشخصشده کاربر برای خطمشیای است که خطا را ایجاد کرده است. | messagelogging.ML-LogMessages.failed = true |
نمونه پاسخ خطا
{
"fault":{
"detail":{
"errorcode":"steps.messagelogging.StepDefinitionExecutionFailed"
},
"faultstring":"Execution failed"
}
}قانون خطای نمونه
<FaultRule name="MessageLogging">
<Step>
<Name>ML-LogMessages</Name>
<Condition>(fault.name Matches "StepDefinitionExecutionFailed") </Condition>
</Step>
<Condition>(messagelogging.ML-LogMessages.failed = true) </Condition>
</FaultRule>خطمشی OASValidation
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطایی را که Edge هنگام راهاندازی خطا در این خطمشی تنظیم میکند شرح میدهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه میدهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدو رسیدگی به اشکالات را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای خطمشی رخ دهند.
| کد خطا | وضعیت HTTP | علت | |
|---|---|---|---|
steps.oasvalidation.Failed |
۵۰۰ | بدنه پیام درخواست نمیتواند دربرابر «مشخصات OpenAPI» ارائهشده اعتبارسنجی شود. | |
steps.oasvalidation.SourceMessageNotAvailable |
۵۰۰ |
متغیر مشخصشده در عنصر |
|
steps.oasvalidation.NotMessageVariable |
۵۰۰ |
عنصر |
build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | علت | |
|---|---|---|
ResourceDoesNotExist |
«مشخصات OpenAPI» ارجاعدادهشده در عنصر <OASResource> وجود ندارد.
|
|
ResourceCompileFailed |
«مشخصات OpenAPI» که در استقرار گنجانده شده است حاوی خطاهایی است که مانع از کامپایل شدن آن میشود. این معمولاً نشان میدهد که مشخصات «مشخصات OpenAPI 3.0» با قالببندی درست نیست. | |
BadResourceURL |
«مشخصات OpenAPI» ارجاعدادهشده در عنصر <OASResource> نمیتواند پردازش شود. این مشکل میتواند به این دلیل رخ دهد که فایل JSON یا YAML نیست یا نشانی وب فایل بهدرستی مشخص نشده است.
|
متغیرهای خطا
این متغیرها زمانی تنظیم میشوند که این خطمشی در زمان اجرا باعث بروز خطا شود. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانید را ببینید.
| متغیر | مکان | مثال |
|---|---|---|
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 |
۵۰۰ | ورودی نمیتواند در حافظه نهان ذخیره شود. شیء پیامی که در حافظه نهان ذخیره میشود نمونهای از کلاسی نیست که «سریالشدنی» باشد. |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | علت | رفع اشکال |
|---|---|---|
InvalidCacheResourceReference |
این خطا زمانی رخ میدهد که عنصر <CacheResource> در خطمشی PopulateCache روی نامی تنظیم شده باشد که در محیطی که پراکسی API در آن مستقر میشود وجود ندارد. |
build |
CacheNotFound |
حافظه نهان مشخصشده در عنصر <CacheResource> وجود ندارد. |
build |
متغیرهای خطا
این متغیرها زمانی تنظیم میشوند که این خطمشی باعث ایجاد خطا شود. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدرا ببینید.
| متغیر | مکان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name نام خطا است، همانطور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. | fault.name = "EntryCannotBeCached" |
populatecache.policy_name.failed |
policy_name نام مشخصشده کاربر برای خطمشیای است که خطا را ایجاد کرده است. | populatecache.POP-CACHE-1.failed = true |
نمونه پاسخ خطا
{ "fault": { "faultstring": "[entry] can not be cached. Only serializable entries are cached.", "detail": { "errorcode": "steps.populatecache.EntryCannotBeCached" } } }
قانون خطای نمونه
<FaultRule name="Populate Cache Fault">
<Step>
<Name>AM-EntryCannotBeCached</Name>
<Condition>(fault.name Matches "EntryCannotBeCached") </Condition>
</Step>
<Condition>(populatecache.POP-CACHE-1.failed = true) </Condition>
</FaultRule>خطمشی LookupCache
این بخش پیامهای خطا و متغیرهای جریانی را توضیح میدهد که وقتی این خطمشی خطا را راهاندازی میکند، تنظیم میشود. این اطلاعات مهم است که بدانید آیا در حال ایجاد قوانین خطا برای یک پروکسی هستید. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
پیشوند کد خطا
N/A
خطاهای زمان اجرا
این سیاست هیچ گونه خطای زمان اجرا ایجاد نمی کند.
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.
| نام خطا | علت | ثابت |
|---|---|---|
InvalidCacheResourceReference | اگر عنصر <CacheResource> روی نامی تنظیم شود که در محیطی که پراکسی API در آن مستقر می شود وجود نداشته باشد، این خطا رخ می دهد. | build |
InvalidTimeout | اگر عنصر <CacheLookupTimeoutInSeconds> روی یک عدد منفی تنظیم شود، آنگاه استقرار پراکسی API با شکست مواجه می شود. | build |
CacheNotFound | این خطا در صورتی رخ می دهد که حافظه پنهان ذکر شده در پیام خطا روی یک جزء خاص Message Processor ایجاد نشده باشد. | build |
متغیرهای خطا
N/A
نمونه پاسخ خطا
N/A
خطمشی InvalidateCache
این بخش پیامهای خطا و متغیرهای جریانی را توضیح میدهد که وقتی این خطمشی خطا را راهاندازی میکند، تنظیم میشود. این اطلاعات مهم است که بدانید آیا در حال ایجاد قوانین خطا برای یک پروکسی هستید. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
پیشوند کد خطا
N/A
خطاهای زمان اجرا
این سیاست هیچ گونه خطای زمان اجرا ایجاد نمی کند.
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.
| نام خطا | علت | ثابت |
|---|---|---|
InvalidCacheResourceReference | اگر عنصر <CacheResource> در خط مشی InvalidateCache روی نامی تنظیم شود که در محیطی که پراکسی API در آن مستقر می شود وجود نداشته باشد، این خطا رخ می دهد. | build |
CacheNotFound | این خطا در صورتی رخ می دهد که حافظه پنهان ذکر شده در پیام خطا روی یک جزء خاص Message Processor ایجاد نشده باشد. | build |
متغیرهای خطا
N/A
نمونه پاسخ خطا
N/A
خطمشی ResponseCache
این بخش پیامهای خطا و متغیرهای جریانی را که هنگام فعال شدن این خطمشی و بروز خطا تنظیم میشوند شرح میدهد. اگر درحال توسعه قوانین خطا برای پراکسی هستید، این اطلاعات مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدو رسیدگی به اشکالات را ببینید.
پیشوند کد خطا
موجود نیست
خطاهای زمان اجرا
این خطمشی هیچ خطای زمان اجرایی ایجاد نمیکند.
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | علت | رفع اشکال |
|---|---|---|
InvalidTimeout |
اگر عنصر
<CacheLookupTimeoutInSeconds> خطمشی ResponseCache روی عدد منفی تنظیم شده باشد،
استقرار پراکسی API ناموفق خواهد بود. |
build |
InvalidCacheResourceReference |
این خطا زمانی رخ میدهد که عنصر <CacheResource> در خطمشی ResponseCache روی نامی تنظیم شده باشد که در محیطی که پراکسی API در آن مستقر میشود وجود ندارد. |
build |
ResponseCacheStepAttachmentNotAllowedReq |
این خطا زمانی رخ میدهد که خطمشی ResponseCache یکسانی به چندین مسیر درخواست در هر جریانی از یک پراکسی API پیوست شده باشد. | build |
ResponseCacheStepAttachmentNotAllowedResp |
این خطا زمانی رخ میدهد که خطمشی ResponseCache یکسانی به چندین مسیر پاسخ در هر جریانی از پراکسی API پیوست شده باشد. | build |
InvalidMessagePatternForErrorCode |
این خطا زمانی رخ میدهد که عنصر <SkipCacheLookup> یا <SkipCachePopulation>
در خطمشی ResponseCache حاوی شرط نامعتبر باشد. |
build |
CacheNotFound |
این خطا زمانی رخ میدهد که حافظه نهان خاص ذکرشده در پیام خطا در جزء «پردازنده پیام» خاصی ایجاد نشده باشد. | build |
متغیرهای خطا
موجود نیست
نمونه پاسخ خطا
موجود نیست
خطمشی OAuthV2
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطایی را که Edge هنگام راهاندازی خطا در این خطمشی تنظیم میکند شرح میدهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه میدهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدو رسیدگی به اشکالات را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای خطمشی رخ دهند.
| کد خطا | وضعیت HTTP | علت | پرتابشده توسط عملیات |
|---|---|---|---|
steps.oauth.v2.access_token_expired |
401 | کد دسترسی منقضی شده است. |
VerifyAccessToken |
steps.oauth.v2.access_token_not_approved |
401 | کد دسترسی باطل شد. | VerifyAccessToken |
steps.oauth.v2.apiresource_doesnot_exist |
401 | منبع درخواستشده در هیچیک از محصولات «میانای برنامهسازی کاربردی» مرتبط با کد دسترسی وجود ندارد. | VerifyAccessToken |
steps.oauth.v2.FailedToResolveAccessToken |
۵۰۰ | خطمشی انتظار داشت کد دسترسی را در متغیری که در عنصر
<AccessToken> مشخص شده است پیدا کند، اما متغیر قابلحل نبود. |
GenerateAccessToken |
steps.oauth.v2.FailedToResolveAuthorizationCode |
۵۰۰ | خطمشی انتظار داشت کد تأییدیهای را در متغیری که در عنصر
<Code> مشخص شده است پیدا کند، اما متغیر قابلحل نبود. |
GenerateAuthorizationCode |
steps.oauth.v2.FailedToResolveClientId |
۵۰۰ | خطمشی انتظار داشت «شناسه مشتری» را در متغیری که در عنصر
<ClientId> مشخص شده است پیدا کند، اما متغیر قابلحل نبود. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.FailedToResolveRefreshToken |
۵۰۰ | خطمشی انتظار داشت نشان بازآوری را در متغیری که در عنصر
<RefreshToken> مشخص شده است پیدا کند، اما متغیر قابلحل نبود. |
RefreshAccessToken |
steps.oauth.v2.FailedToResolveToken |
۵۰۰ | خطمشی انتظار داشت نشانهای را در متغیری که در عنصر
<Tokens> مشخص شده است پیدا کند، اما متغیر قابلحل نبود. |
اعتبارسنجی کد |
steps.oauth.v2.InsufficientScope |
403 | دامنه کد دسترسی ارائهشده در درخواست با دامنه مشخصشده در خطمشی درستیسنجی کد دسترسی مطابقت ندارد. برای آشنایی با محدوده، کار با محدودههای OAuth2 را ببینید. | VerifyAccessToken |
steps.oauth.v2.invalid_access_token |
401 | کد دسترسی ارسالشده از کارخواه نامعتبر است. | VerifyAccessToken |
steps.oauth.v2.invalid_client |
401 |
این نام خطا زمانی برگردانده میشود که دارایی توجه: توصیه میشود شرایط قانون خطای موجود را تغییر دهید تا
نامهای |
GenerateAccessToken RefreshAccessToken |
steps.oauth.v2.InvalidRequest |
۴۰۰ | این نام خطا برای انواع مختلفی از خطاها استفاده میشود، معمولاً برای پارامترهای ازدسترفته
یا نادرست که در درخواست ارسال شدهاند. اگر <GenerateResponse> روی false تنظیم شده است، از متغیرهای خطا (توضیح دادهشده در زیر) برای بازیابی جزئیات خطا، مانند نام و علت خطا، استفاده کنید. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.InvalidAccessToken |
401 | سرایند مجوز کلمه «حامل» را ندارد که الزامی است. برای
مثال: Authorization: Bearer your_access_token |
VerifyAccessToken |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 |
پراکسی API در «محصول» مرتبط با کد دسترسی نیست. نکتهها: مطمئن شوید محصول مرتبط با کد دسترسی بهدرستی پیکربندی شده باشد. برای مثال، اگر از نویسههای عام در مسیرهای منبع استفاده میکنید، مطمئن شوید که نویسههای عام بهدرستی استفاده میشوند. برای جزئیات، ایجاد محصولات میانای برنامهسازی کاربردی را ببینید. برای راهنمایی بیشتر درباره دلایل این خطا، این پست انجمن Apigee را نیز ببینید. |
VerifyAccessToken |
steps.oauth.v2.InvalidClientIdentifier |
۵۰۰ |
این نام خطا زمانی برگردانده میشود که دارایی |
GenerateAccessToken |
steps.oauth.v2.InvalidParameter |
۵۰۰ | خطمشی باید یا کد دسترسی یا کد مجوز را مشخص کند، اما نه هر دو را. | GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.InvalidTokenType |
۵۰۰ | عنصر <Tokens>/<Token> از شما میخواهد نوع نشان را مشخص کنید (برای مثال، refreshtoken). اگر کارخواه نوع اشتباه را ارسال کند، این خطا ایجاد میشود. |
ValidateToken InvalidateToken |
steps.oauth.v2.MissingParameter |
۵۰۰ | نوع پاسخ token است، اما نوع اعطایی مشخص نشده است. |
GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.UnSupportedGrantType |
۵۰۰ |
کارخواه نوع پروانهای را مشخص کرده است که خطمشی پشتیبانی نمیکند (در عنصر <SupportedGrantTypes> فهرست نشده است). توجه: درحالحاضر اشکالی وجود دارد که در آن خطاهای نوع اعطای غیرپشتیبانیشده بهدرستی ایجاد نمیشوند. اگر خطای نوع اعطای پشتیبانینشدهای رخ دهد، پراکسی طبق انتظار وارد «جریان خطا» نمیشود. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | علت |
|---|---|
InvalidValueForExpiresIn |
برای عنصر |
InvalidValueForRefreshTokenExpiresIn |
برای عنصر <RefreshTokenExpiresIn>، مقادیر معتبر عبارتاند از اعداد صحیح مثبت و -1. |
InvalidGrantType |
نوع پروانه نامعتبری در عنصر <SupportedGrantTypes>
مشخص شده است. برای فهرست انواع معتبر، به مرجع خطمشی مراجعه کنید. |
ExpiresInNotApplicableForOperation |
مطمئن شوید که عملیات مشخصشده در عنصر <Operations> از انقضا پشتیبانی میکند. برای مثال، عملیات VerifyToken این کار را انجام نمیدهد. |
RefreshTokenExpiresInNotApplicableForOperation |
مطمئن شوید که عملیات مشخصشده در عنصر <Operations> از انقضای توکن بازآوری پشتیبانی میکند. برای مثال، عملیات VerifyToken این کار را انجام نمیدهد. |
GrantTypesNotApplicableForOperation |
مطمئن شوید که انواع پروانههای مشخصشده در <SupportedGrantTypes> برای عملکرد مشخصشده پشتیبانی میشوند. |
OperationRequired |
باید عملیاتی را در این خطمشی بااستفاده از عنصر توجه: اگر عنصر |
InvalidOperation |
باید بااستفاده از عنصر توجه: اگر عنصر |
TokenValueRequired |
باید مقدار <Token> نشانه را در عنصر
<Tokens> مشخص کنید. |
متغیرهای خطا
این متغیرها زمانی تنظیم میشوند که این خطمشی در زمان اجرا باعث بروز خطا شود.
| متغیر | مکان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name نام خطا است، همانطور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. | fault.name = "InvalidRequest" |
oauthV2.policy_name.failed |
policy_name نام مشخصشده کاربر برای خطمشیای است که خطا را ایجاد کرده است. | oauthV2.GenerateAccesstoken.failed = true |
oauthV2.policy_name.fault.name |
policy_name نام مشخصشده کاربر برای خطمشیای است که خطا را ایجاد کرده است. | oauthV2.GenerateAccesstoken.fault.name = InvalidRequest
توجه: برای عملیات VerifyAccessToken، نام خطا شامل این پسوند است: |
oauthV2.policy_name.fault.cause |
policy_name نام مشخصشده کاربر برای خطمشیای است که خطا را ایجاد کرده است. | oauthV2.GenerateAccesstoken.cause = Required param : grant_type |
نمونه پاسخ خطا
اگر عنصر <GenerateResponse>
درست باشد، این پاسخها به مشتری برگردانده میشود.
اگر <GenerateResponse> درست باشد، خطمشی برای عملیاتی که کدها و نشانها را تولید میکنند، خطاهایی با این قالب برمیگرداند. برای مشاهده فهرست کامل، به
مرجع پاسخ خطای HTTP در OAuth مراجعه کنید.
{"ErrorCode" : "invalid_client", "Error" :"ClientId is Invalid"}اگر <GenerateResponse> درست باشد، خطمشی برای عملیات درستیسنجی و اعتبارسنجی، خطاها را
با این قالب برمیگرداند. برای مشاهده فهرست کامل، به مرجع پاسخ خطای HTTP در OAuth مراجعه کنید.
{ { "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
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند. نام خطاهای نشان داده شده در زیر رشته هایی هستند که در صورت بروز خطا به متغیر 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 نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | 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 |
۵۰۰ | کد دسترسی ارسالشده به خطمشی منقضی شده است. |
steps.oauth.v2.invalid_access_token |
۵۰۰ | کد دسترسی ارسالشده به خطمشی نامعتبر است. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | لطفاً برای اطلاعات درباره عیبیابی این خطا، این پست «انجمن Apigee» را ببینید. |
خطاهای استقرار
برای کسب اطلاعات درباره خطاهای استقرار، به پیامی که در واسط کاربر گزارش شده است مراجعه کنید.
متغیرهای خطا
این متغیرها زمانی تنظیم میشوند که این خطمشی در زمان اجرا باعث بروز خطا شود.
| متغیر | مکان | مثال |
|---|---|---|
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» را ببینید. |
خطاهای استقرار
برای کسب اطلاعات درباره خطاهای استقرار، به پیامی که در واسط کاربر گزارش شده است مراجعه کنید.
متغیرهای خطا
این متغیرها زمانی تنظیم میشوند که این خطمشی در زمان اجرا باعث بروز خطا شود.
| متغیر | مکان | مثال |
|---|---|---|
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 کدهای خطای زیر را تعریف می کند.
برای کدهای خطای HTTP مربوط به OAuth، مرجع پاسخ به خطای 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 |
۵۰۰ | خطمشی PythonScript میتواند چندین نوع مختلف از خطاهای ScriptExecutionFailed را ایجاد کند. انواع خطاهای رایج شامل NameError و ZeroDivisionError میشود. | build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | علت | رفع اشکال |
|---|---|---|
InvalidResourceUrlFormat |
اگر قالب نشانی وب منبع مشخصشده در <ResourceURL> یا
عنصر <IncludeURL> خطمشی PythonScript نامعتبر باشد، استقرار پراکسی API ناموفق خواهد بود. |
build |
InvalidResourceUrlReference |
اگر عنصر <ResourceURL> یا <IncludeURL>
به فایل PythonScript که وجود ندارد اشاره کند، استقرار میانای برنامهسازی کاربر API ناموفق خواهد بود.
فایل منبع ارجاعشده باید در سطح پراکسی API، محیط، یا سازمان وجود داشته باشد. |
build |
متغیرهای خطا
این متغیرها زمانی تنظیم میشوند که این خطمشی در زمان اجرا باعث بروز خطا شود. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانید را ببینید.
| متغیر | مکان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name نام خطا است، همانطور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. | fault.name Matches "ScriptExecutionFailed" |
pythonscript.policy_name.failed |
policy_name نام مشخصشده کاربر برای خطمشیای است که خطا را ایجاد کرده است. | pythonscript.PythonScript-1.failed = true |
نمونه پاسخ خطا
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Pythonscript runtime error: "ReferenceError: "status" is not defined.\"", "detail": { "errorcode": "steps.script.ScriptExecutionFailed" } } }
قانون خطای نمونه
<FaultRule name="PythonScript Policy Faults"> <Step> <Name>AM-CustomErrorResponse</Name> <Condition>(fault.name Matches "ScriptExecutionFailed") </Condition> </Step> <Condition>(pythonscript.PythonScript-1.failed = true) </Condition> </FaultRule>
خطمشی سهمیه
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطایی را که Edge هنگام راهاندازی خطا در این خطمشی تنظیم میکند شرح میدهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه میدهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدو رسیدگی به اشکالات را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای خطمشی رخ دهند.
| کد خطا | وضعیت HTTP | علت | رفع اشکال |
|---|---|---|---|
policies.ratelimit.FailedToResolveQuotaIntervalReference |
۵۰۰ | اگر عنصر <Interval> در خطمشی «سهمیه» تعریف نشده باشد، این خطا رخ میدهد. این عنصر
الزامی است و برای مشخص کردن بازه زمانی مربوط به سهمیه استفاده میشود. فاصله زمانی
میتواند دقیقه، ساعت، روز، هفته، یا ماه باشد که با عنصر <TimeUnit> تعریف میشود. |
build |
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference |
۵۰۰ | اگر عنصر <TimeUnit> در خطمشی «سهمیه» تعریف نشده باشد، این خطا رخ میدهد. این عنصر
الزامی است و برای مشخص کردن واحد زمان قابلاعمال برای سهمیه استفاده میشود. فاصله زمانی
میتواند برحسب دقیقه، ساعت، روز، هفته، یا ماه باشد. |
build |
policies.ratelimit.InvalidMessageWeight |
۵۰۰ | اگر مقدار عنصر <MessageWeight> که ازطریق متغیر جاریسازی مشخص شده است
نامعتبر باشد (مقدار غیرصحیح)، این خطا رخ میدهد. |
build |
policies.ratelimit.QuotaViolation |
۵۰۰ | از حد سهمیه فراتر رفته است. | موجود نیست |
خطاهای استقرار
| نام خطا | علت | رفع اشکال |
|---|---|---|
InvalidQuotaInterval |
اگر بازه سهمیه مشخصشده در عنصر <Interval> عدد صحیح نباشد،
پیادهسازی پراکسی API ناموفق خواهد بود. برای مثال، اگر فاصله سهمیه
مشخصشده در عنصر <Interval> برابر با ۰٫۱ باشد، استقرار
پراکسی API ناموفق خواهد بود.
|
build |
InvalidQuotaTimeUnit |
اگر واحد زمان مشخصشده در عنصر <TimeUnit> پشتیبانی نشود،
استقرار پراکسی API ناموفق خواهد بود. واحدهای زمان پشتیبانیشده عبارتاند از minute،
hour، day، week، و month.
|
build |
InvalidQuotaType |
اگر نوع سهمیه مشخصشده توسط مشخصه type در عنصر <Quota>
نامعتبر باشد، استقرار پراکسی API ناموفق خواهد بود. انواع سهمیه پشتیبانیشده عبارتاند از default، calendar، flexi، و rollingwindow.
|
build |
InvalidStartTime |
اگر قالب زمان مشخصشده در عنصر <StartTime> نامعتبر باشد،
استقرار پراکسی API ناموفق خواهد بود. قالب معتبر yyyy-MM-dd HH:mm:ss است،
که قالب تاریخ و زمان ISO 8601 است. برای
مثال، اگر زمان مشخصشده در عنصر <StartTime>
7-16-2017 12:00:00 باشد، استقرار پراکسی API ناموفق خواهد بود.
|
build |
StartTimeNotSupported |
اگر عنصر <StartTime> مشخص شده باشد که نوع سهمیه آن از نوع calendar نباشد،
استقرار پراکسی API ناموفق خواهد بود. عنصر <StartTime> فقط برای نوع سهمیه calendar پشتیبانی میشود. برای مثال، اگر مشخصه type در عنصر <Quota> روی flexi یا rolling window تنظیم شده باشد، استقرار پراکسی API ناموفق خواهد بود.
|
build |
InvalidTimeUnitForDistributedQuota |
اگر عنصر <Distributed> روی true تنظیم شده باشد و عنصر <TimeUnit> روی
second تنظیم شده باشد، استقرار پراکسی API ناموفق خواهد بود. واحد زمان second برای سهمیه توزیعشده نامعتبر است. |
build |
InvalidSynchronizeIntervalForAsyncConfiguration |
اگر مقدار مشخصشده برای عنصر <SyncIntervalInSeconds> در
عنصر <AsynchronousConfiguration> در خطمشی «سهمیه» کمتر از صفر باشد،
استقرار پراکسی API ناموفق خواهد بود. |
build |
InvalidAsynchronizeConfigurationForSynchronousQuota |
اگر مقدار عنصر <AsynchronousConfiguration> در خطمشی «سهمیه» روی true تنظیم شده باشد، که همچنین
پیکربندی ناهمزمان بااستفاده از عنصر <AsynchronousConfiguration> تعریف شده باشد، آنگاه
استقرار پراکسی API ناموفق خواهد بود. |
build |
متغیرهای خطا
این متغیرها زمانی تنظیم میشوند که این خطمشی باعث ایجاد خطا شود. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدرا ببینید.
| متغیر | مکان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name نام خطا است، همانطور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. | fault.name Matches "QuotaViolation" |
ratelimit.policy_name.failed |
policy_name نام مشخصشده کاربر برای خطمشیای است که خطا را ایجاد کرده است. | ratelimit.QT-QuotaPolicy.failed = true |
نمونه پاسخ خطا
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.QuotaViolation" }, "faultstring":"Rate limit quota violation. Quota limit exceeded. Identifier : _default" } }
قانون خطای نمونه
<FaultRules>
<FaultRule name="Quota Errors">
<Step>
<Name>JavaScript-1</Name>
<Condition>(fault.name Matches "QuotaViolation") </Condition>
</Step>
<Condition>ratelimit.Quota-1.failed=true</Condition>
</FaultRule>
</FaultRules>خطمشی ResetQuota
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطایی را که Edge هنگام راهاندازی خطا در این خطمشی تنظیم میکند شرح میدهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه میدهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدو رسیدگی به اشکالات را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای خطمشی رخ دهند.
| کد خطا | وضعیت HTTP | علت | رفع اشکال |
|---|---|---|---|
policies.resetquota.InvalidRLPolicy |
۵۰۰ | خطمشی «سهمیه» مشخصشده در عنصر <Quota> خطمشی «بازنشانی سهمیه»
در پراکسی API تعریف نشده است و بنابراین درطول جریان دردسترس نیست. عنصر <Quota>
الزامی است و خطمشی سهمیه هدف را که شمارنده آن باید ازطریق
خطمشی «بازنشانی سهمیه» بهروزرسانی شود مشخص میکند. |
build |
policies.resetquota.FailedToResolveAllowCountRef |
موجود نیست | مرجع متغیر حاوی تعداد مجاز در عنصر <Allow>
خطمشی نمیتواند به مقدار تبدیل شود. این عنصر اجباری است و مقدار
کاهش شمارنده سهمیه را مشخص میکند. |
build |
policies.resetquota.FailedToResolveRLPolicy |
۵۰۰ | متغیر ارجاعدادهشده توسط مشخصه ref در عنصر <Quota>
قابلحل نیست. |
build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | علت | رفع اشکال |
|---|---|---|
InvalidCount |
اگر مقدار شمارش مشخصشده در عنصر <Allow> «خطمشی بازنشانی سهمیه» عدد صحیح نباشد،
استقرار پراکسی API ناموفق خواهد بود.
|
build |
خطمشی RaiseFault
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطایی را که Edge هنگام راهاندازی خطا در این خطمشی تنظیم میکند شرح میدهد. این اطلاعات برای زمانی که درحال توسعه قوانین خطا برای مدیریت خطاها هستید مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانید و رسیدگی به خطاها را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای خطمشی رخ دهند.
| کد خطا | وضعیت HTTP | علت |
|---|---|---|
steps.raisefault.RaiseFault |
۵۰۰ | رشته خطا را ببینید. |
خطاهای استقرار
هیچکدام.
متغیرهای خطا
این متغیرها زمانی تنظیم میشوند که خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدرا ببینید.
| متغیر | مکان | مثال |
|---|---|---|
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 | «تعریف گام» {0} مربوط به «محافظت با عبارت باقاعده» اجرا نشد. دلیل: {۱} |
| InstantiationFailed | RegularExpressionProtection StepDefinition {0} نمونهسازی نشد |
| NonMessageVariable | متغیر {0} به «پیام» تبدیل نمیشود |
| SourceMessageNotAvailable | پیام {0} برای «تعریف گام» {1} در RegularExpressionProtection دردسترس نیست |
| ThreatDetected | تهدید عبارت باقاعده در {0} شناسایی شد: عبارت باقاعده: {1} ورودی: {2} |
| VariableResolutionFailed | متغیر {0} تجزیه نشد |
خطاهای استقرار
| کد خطا | پیام | رفع اشکال |
|---|---|---|
| CannotBeConvertedToNodeset | RegularExpressionProtection {0}: نتیجه xpath {1} نمیتواند به مجموعه گره تبدیل شود. بافت {2} | build |
| DuplicatePrefix | RegularExpressionProtection {0}: پیشوند تکراری {1} | build |
| EmptyJSONPathExpression | RegularExpressionProtection {0}: عبارت JSONPath خالی است | build |
| EmptyXPathExpression | RegularExpressionProtection {0}: عبارت XPath خالی است | build |
| InvalidRegularExpression | RegularExpressionProtection {0}: عبارت باقاعده نامعتبر {1}، زمینه {2} | build |
| JSONPathCompilationFailed | RegularExpressionProtection {0}: jsonpath {1} تدوین نشد. بافت {2} | build |
| NONEmptyPrefixMappedToEmptyURI | RegularExpressionProtection {0}: پیشوند غیرخالی {1} نمیتواند به نشانی وب خالی نگاشت شود | build |
| NoPatternsToEnforce | RegularExpressionProtection {0}: الگویی برای اعمال در {1} وجود ندارد | build |
| NothingToEnforce | RegularExpressionProtection {0}: حداقل یکی از URIPath، QueryParam، Header، FormParam، XMLPayload، JSONPayload الزامی است | build |
| XPathCompilationFailed | RegularExpressionProtection {0}: xpath {1} تدوین نشد. بافت {2} | build |
متغیرهای خطا
این متغیرها زمانی تنظیم میشوند که این خطمشی باعث ایجاد خطا شود. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدرا ببینید.
| متغیر | مکان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name نام خطا است، همانگونه که در جدول بالا فهرست شده است. | fault.name Matches "ThreatDetected" |
regularexpressionprotection.policy_name.failed |
policy_name نام مشخصشده کاربر برای خطمشیای است که خطا را ایجاد کرده است. | regularexpressionprotection.Regular-Expressions-Protection-1.failed = true |
خطمشی SOAPMessageValidation
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطایی را که Edge هنگام راهاندازی خطا در این خطمشی تنظیم میکند شرح میدهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه میدهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدو رسیدگی به اشکالات را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای خطمشی رخ دهند.
| کد خطا | وضعیت HTTP | علت | رفع اشکال |
|---|---|---|---|
steps.messagevalidation.SourceMessageNotAvailable |
۵۰۰ |
این خطا زمانی رخ میدهد که متغیری که در عنصر
|
build |
steps.messagevalidation.NonMessageVariable |
۵۰۰ |
این خطا زمانی رخ میدهد که عنصر متغیرهای نوع پیام نشاندهنده کل درخواستها و پاسخهای HTTP هستند. متغیرهای جریان داخلی Edge
|
build |
steps.messagevalidation.Failed |
۵۰۰ | این خطا زمانی رخ میدهد که خطمشی SOAPMessageValidation نتواند پیام ورودی بار را دربرابر طرحواره XSD یا تعریف WSDL اعتبارسنجی کند. همچنین اگر JSON یا XML در پیام دادهبرداری بدشکل باشد، این خطا رخ میدهد. | build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | علت | رفع اشکال |
|---|---|---|
InvalidResourceType |
عنصر <ResourceURL> در خطمشی SOAPMessageValidation روی نوع منبعی تنظیم شده است که خطمشی پشتیبانی نمیکند.
|
build |
ResourceCompileFailed |
نوشتار منبع ارجاعشده در عنصر <ResourceURL> خطمشی SOAPMessageValidation
حاوی خطایی است که مانع از ترجمه آن میشود.
|
build |
RootElementNameUnspecified |
عنصر <Element> در خطمشی SOAPMessageValidation نام عنصر ریشه را ندارد. |
build |
InvalidRootElementName |
عنصر <Element> در خطمشی SOAPMessageValidation حاوی نام عنصر ریشهای است که از قوانین XML برای نامگذاری عنصر معتبر پیروی نمیکند. |
build |
خطمشی SAMLAssertion
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطایی را که Edge وقتی این خطمشی باعث بروز خطا میشود تنظیم میکند شرح میدهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه میدهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدو رسیدگی به اشکالات را ببینید.
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | علت | رفع اشکال |
|---|---|---|
SourceNotConfigured |
یک یا چند عنصر از عناصر زیر در خطمشی «ادعای SAML را اعتبارسنجی کنید»
تعریف نشده یا خالی است: <Source>، <XPath>،
<Namespaces>، <Namespace>.
|
build |
TrustStoreNotConfigured |
اگر عنصر <TrustStore> خالی باشد یا در خطمشی
ValidateSAMLAssertion مشخص نشده باشد، استقرار پراکسی API ناموفق خواهد بود.
Trust Store معتبر الزامی است.
|
build |
NullKeyStoreAlias |
اگر عنصر فرزند <Alias> در عنصر <Keystore>
خطمشی «تولید ادعای SAML» خالی باشد یا مشخص نشده باشد، استقرار میانای برنامهسازی کاربردی
با شکست مواجه میشود. نام مستعار Keystore معتبر الزامی است.
|
build |
NullKeyStore |
اگر عنصر فرزند <Name> خالی باشد یا در عنصر <Keystore>
خطمشی GenerateSAMLAssertion مشخص نشده باشد، استقرار پراکسی API
ناموفق خواهد بود. نام Keystore معتبر الزامی است.
|
build |
NullIssuer |
اگر عنصر <Issuer> خالی باشد یا در خطمشی «تولید ادعای SAML» مشخص نشده باشد،
استقرار پراکسی API ناموفق خواهد بود. مقدار <Issuer> معتبر لازم است.
|
build |
متغیرهای خطا
این متغیرها زمانی تنظیم میشوند که خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدرا ببینید.
| متغیر | مکان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name نام گسل است. نام خطا آخرین بخش کد خطا است. | fault.name = "InvalidMediaTpe" |
GenerateSAMLAssertion.failed |
برای پیکربندی خطمشی ادعای SAML معتبر، پیشوند خطا ValidateSAMLAssertion است. |
GenerateSAMLAssertion.failed = true |
نمونه پاسخ خطا
{ "fault": { "faultstring": "GenerateSAMLAssertion[GenSAMLAssert]: Invalid media type", "detail": { "errorcode": "steps.saml.generate.InvalidMediaTpe" } } }
قانون خطای نمونه
<FaultRules>
<FaultRule name="invalid_saml_rule">
<Step>
<Name>invalid-saml</Name>
</Step>
<Condition>(GenerateSAMLAssertion.failed = "true")</Condition>
</FaultRule>
</FaultRules>خطمشی ServiceCallout
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطایی را که Edge هنگام راهاندازی خطا در این خطمشی تنظیم میکند شرح میدهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه میدهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدو رسیدگی به اشکالات را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای خطمشی رخ دهند.
| کد خطا | وضعیت HTTP | علت | رفع اشکال |
|---|---|---|---|
steps.servicecallout.ExecutionFailed |
۵۰۰ |
این خطا زمانی ممکن است رخ دهد که:
|
build |
steps.servicecallout.RequestVariableNotMessageType |
۵۰۰ | متغیر «درخواست» مشخصشده در خطمشی از نوع «پیام» نیست. برای مثال، اگر رشته یا نوع غیرپیام دیگری باشد، این خطا را خواهید دید. | build |
steps.servicecallout.RequestVariableNotRequestMessageType |
۵۰۰ | متغیر «درخواست» مشخصشده در خطمشی از نوع «پیام درخواست» نیست. برای مثال، اگر نوع «پاسخ» باشد، این خطا را خواهید دید. | build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | علت | رفع اشکال |
|---|---|---|
URLMissing |
عنصر <URL> در <HTTPTargetConnection>
وجود ندارد یا خالی است. |
build |
ConnectionInfoMissing |
این خطا زمانی رخ میدهد که خطمشی عنصر
<HTTPTargetConnection> یا <LocalTargetConnection>
نداشته باشد. |
build |
InvalidTimeoutValue |
اگر مقدار <Timeout> منفی یا صفر باشد، این خطا رخ میدهد. |
build |
متغیرهای خطا
این متغیرها زمانی تنظیم میشوند که خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدرا ببینید.
| متغیر | مکان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name نام خطا است، همانطور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. | fault.name = "RequestVariableNotMessageType" |
servicecallout.policy_name.failed |
policy_name نام مشخصشده کاربر برای خطمشیای است که خطا را ایجاد کرده است. | servicecallout.SC-GetUserData.failed = true |
نمونه پاسخ خطا
{ "fault":{ "detail":{ "errorcode":"steps.servicecallout.RequestVariableNotMessageType" }, "faultstring":"ServiceCallout[ServiceCalloutGetMockResponse]: request variable data_str value is not of type Message" } }
قانون خطای نمونه
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="RequestVariableNotMessageType">
<Step>
<Name>AM-RequestVariableNotMessageType</Name>
</Step>
<Condition>(fault.name = "RequestVariableNotMessageType")</Condition>
</FaultRule>خطمشی SpikeArrest
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطایی را که Edge هنگام راهاندازی خطا در این خطمشی تنظیم میکند شرح میدهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه میدهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانید و رسیدگی به اشکالات را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای خطمشی رخ دهند.
| کد خطا | وضعیت HTTP | علت | رفع اشکال |
|---|---|---|---|
policies.ratelimit.FailedToResolveSpikeArrestRate |
500 |
این خطا زمانی رخ میدهد که مرجع متغیر حاوی تنظیم نرخ در عنصر <Rate> نتواند به مقداری در خطمشی «مهار جهش» تبدیل شود. این عنصر الزامی است و برای تعیین نرخ توقف جهش در قالب intpm یا intps استفاده میشود. |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
این خطا زمانی رخ میدهد که مقدار مشخصشده برای عنصر <MessageWeight> ازطریق متغیر جاری نامعتبر باشد (مقدار غیرصحیح). |
build |
policies.ratelimit.SpikeArrestViolation |
429 |
از حد مجاز نرخ فراتر رفته است. توضیح داده شده است تنظیم کنید |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | علت | رفع اشکال |
|---|---|---|
InvalidAllowedRate |
اگر نرخ توقف جهش مشخصشده در عنصر <Rate> «خطمشی توقف جهش» عدد صحیح نباشد یا اگر نرخ پسوند ps یا pm نداشته باشد،
استقرار پراکسی API ناموفق خواهد بود. |
build |
متغیرهای خطا
این متغیرها زمانی تنظیم میشوند که خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدرا ببینید.
| متغیر | مکان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name نام خطا است، همانطور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا بخش آخر کد خطا است. | fault.name Matches "SpikeArrestViolation" |
ratelimit.policy_name.failed |
policy_name نام مشخصشده کاربر برای خطمشیای است که خطا را ایجاد کرده است. | ratelimit.SA-SpikeArrestPolicy.failed = true |
نمونه پاسخ خطا
در زیر نمونهای از پاسخ خطا نشان داده شده است:
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.SpikeArrestViolation" }, "faultstring":"Spike arrest violation. Allowed rate : 10ps" } }
قانون خطای نمونه
در زیر نمونهای از قانون خطا برای مدیریت خطای SpikeArrestViolation نشان داده شده است:
<FaultRules>
<FaultRule name="Spike Arrest Errors">
<Step>
<Name>JavaScript-1</Name>
<Condition>(fault.name Matches "SpikeArrestViolation") </Condition>
</Step>
<Condition>ratelimit.Spike-Arrest-1.failed=true</Condition>
</FaultRule>
</FaultRules>خطمشی StatisticsCollector
این بخش پیامهای خطا و متغیرهای جریانی را که هنگام فعال شدن این خطمشی و بروز خطا تنظیم میشوند شرح میدهد. اگر درحال توسعه قوانین خطا برای پراکسی هستید، این اطلاعات مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدو رسیدگی به اشکالات را ببینید.
خطاهای زمان اجرا
هیچکدام.
خطاهای استقرار
| نام خطا | علت | رفع اشکال |
|---|---|---|
UnsupportedDatatype |
اگر نوع متغیر مشخصشده توسط مشخصه ref در عنصر <Statistic>
خطمشی «گردآورنده آمار» پشتیبانی نشود، استقرار پراکسی API
ناموفق خواهد بود. انواع دادههای پشتیبانیشده عبارتاند از string، integer،
float، long، double، و boolean. |
build |
InvalidName |
اگر نام استفادهشده برای ارجاع به دادههای جمعآوریشده برای متغیر مشخصشده تعریفشده
در عنصر <Statistic> خطمشی «جمعآورنده آمار» با متغیر تعریفشده
توسط سیستم تداخل داشته باشد، استقرار پراکسی API ناموفق خواهد بود. برخیاز متغیرهای تعریفشده
سیستم شناختهشده عبارتاند از organization و environment. |
build |
DatatypeMissing |
اگر نوع متغیر مشخصشده توسط مشخصه ref در عنصر <Statistic>
خطمشی «گردآورنده آمار» وجود نداشته باشد، استقرار پراکسی API ناموفق خواهد بود. |
build |
متغیرهای خطا
هیچکدام.
خطمشی VerifyAPIKey
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطایی را که Edge هنگام راهاندازی خطا در این خطمشی تنظیم میکند شرح میدهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه میدهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدو رسیدگی به اشکالات را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای خطمشی رخ دهند.
| کد خطا | وضعیت HTTP | علت |
|---|---|---|
keymanagement.service.CompanyStatusNotActive |
401 | «شرکت» مرتبط با «برنامه توسعهدهنده» که کلید API مورد استفاده شما را دارد وضعیت غیرفعال دارد. وقتی وضعیت «شرکت» روی غیرفعال تنظیم شود، نمیتوانید به توسعهدهندگان یا برنامههای مرتبط با آن «شرکت» دسترسی داشته باشید. سرپرست سازمان میتواند وضعیت «شرکت» را بااستفاده از میانای برنامهسازی کاربردی مدیریت تغییر دهد. تنظیم وضعیت شرکت را ببینید. |
keymanagement.service.DeveloperStatusNotActive |
401 |
توسعهدهندهای که «برنامه توسعهدهنده» دارای کلید میانای برنامهسازی کاربردی مورد استفاده شما را ایجاد کرده است وضعیت غیرفعال دارد. وقتی وضعیت «توسعهدهنده نرمافزار» روی غیرفعال تنظیم شود، همه «برنامههای توسعهدهنده» ایجادشده توسط آن توسعهدهنده غیرفعال میشوند. کاربر سرپرست با اجازههای مناسب (مثل «سرپرست سازمان») میتواند وضعیت توسعهدهنده را به روشهای زیر تغییر دهد:
|
keymanagement.service.invalid_client-app_not_approved |
401 | «برنامه توسعهدهنده» مرتبط با کلید میانای برنامهسازی کاربردی باطل شده است. برنامه لغوشده نمیتواند به هیچیک از محصولات API دسترسی داشته باشد و نمیتواند هیچیک از APIهای مدیریتشده توسط Apigee Edge را فراخوانی کند. سرپرست سازمان میتواند وضعیت «برنامه توسعهدهنده» را بااستفاده از API مدیریت تغییر دهد. تأیید یا لغو برنامه توسعهدهنده را ببینید. |
oauth.v2.FailedToResolveAPIKey |
401 | خطمشی انتظار دارد کلید API را در متغیری که در عنصر <APIKey> خطمشی مشخص شده است پیدا کند. این خطا زمانی رخ میدهد که متغیر موردانتظار وجود نداشته باشد (قابلحل نباشد). |
oauth.v2.InvalidApiKey |
401 | کلید میانای برنامهسازی کاربردی توسط Edge دریافت شد، اما نامعتبر است. وقتی Edge کلید را در پایگاه داده خود جستجو میکند، باید دقیقاً با کلیدی که در درخواست ارسال شده مطابقت داشته باشد. اگر میانای برنامهسازی کاربردی قبلاً کار میکرد، مطمئن شوید کلید بازتولید نشده باشد. اگر کلید بازتولید شده باشد، اگر بخواهید از کلید قدیمی استفاده کنید، این خطا را خواهید دید. برای جزئیات، ثبت برنامهها و مدیریت کلیدهای میانای برنامهسازی کاربردی را ببینید. |
oauth.v2.InvalidApiKeyForGivenResource |
401 | کلید میانای برنامهسازی کاربردی توسط Edge دریافت شده است و معتبر است؛ بااینحال، با کلید تأییدشده در «برنامه توسعهدهنده» منسوب به پراکسی میانای برنامهسازی کاربردی شما ازطریق «محصول» مطابقت ندارد. |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | علت |
|---|---|
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 | الگوریتم مشخصشده در سرایند توسط خطمشی «تولید» با الگوریتم موردانتظار در خطمشی «درستیسنجی» مطابقت نداشت. الگوریتمهای مشخصشده باید مطابقت داشته باشند. |
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 | JSON نامعتبر در سرایند JWS پیدا شد. |
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 بهعنوان منبع کلیدهای عمومی استفاده میکند، اما kid
در JWS امضاشده در JWKS فهرست نشده است. |
steps.jws.UnhandledCriticalHeader |
401 | سرایندی که خطمشی «درستیسنجی JWS» در سرایند crit پیدا کرده است در KnownHeaders فهرست نشده است. |
steps.jws.UnknownException |
401 | استثنای ناشناختهای روی داد. |
steps.jws.WrongKeyType |
401 | نوع کلید مشخصشده اشتباه است. برای مثال، اگر کلید RSA را برای الگوریتم «منحنی بیضوی» یا کلید منحنی را برای الگوریتم RSA مشخص کنید. |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | وقتی رخ میدهد |
|---|---|
InvalidAlgorithm |
تنها مقادیر معتبر عبارتاند از: RS256، RS384، RS512، PS256، PS384، PS512، ES256، ES384، ES512، HS256، HS384، HS512. |
|
|
سایر خطاهای احتمالی استقرار. |
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که یک خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.
| متغیرها | کجا | مثال |
|---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | 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 | سرایندی که خطمشی «درستیسنجی JWT» در سرایند crit پیدا کرده است
در KnownHeaders فهرست نشده است. |
steps.jwt.UnknownException |
401 | استثنای ناشناختهای روی داد. |
steps.jwt.WrongKeyType |
401 | نوع کلید مشخصشده اشتباه است. برای مثال، اگر کلید RSA را برای الگوریتم «منحنی بیضوی» یا کلید منحنی را برای الگوریتم RSA مشخص کنید. |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | علت | رفع اشکال |
|---|---|---|
InvalidNameForAdditionalClaim |
اگر ادعای استفادهشده در عنصر فرزند <Claim>
عنصر <AdditionalClaims> یکی از نامهای ثبتشده زیر باشد، استقرار ناموفق خواهد بود:
kid، iss، sub، aud، iat،
exp، nbf، یا jti.
|
build |
InvalidTypeForAdditionalClaim |
اگر ادعای استفادهشده در عنصر فرزند <Claim>
عنصر <AdditionalClaims> از نوع string، number،
boolean، یا map نباشد، استقرار ناموفق خواهد بود.
|
build |
MissingNameForAdditionalClaim |
اگر نام ادعا در عنصر فرزند <Claim>
عنصر <AdditionalClaims> مشخص نشده باشد، استقرار ناموفق خواهد بود.
|
build |
InvalidNameForAdditionalHeader |
این خطا زمانی رخ میدهد که نام ادعای استفادهشده در عنصر فرزند <Claim>
عنصر <AdditionalClaims> یا alg یا typ باشد.
|
build |
InvalidTypeForAdditionalHeader |
اگر نوع ادعای استفادهشده در عنصر فرزند <Claim>
عنصر <AdditionalClaims> از نوع string، number،
boolean، یا map نباشد، استقرار ناموفق خواهد بود.
|
build |
InvalidValueOfArrayAttribute |
این خطا زمانی رخ میدهد که مقدار مشخصه آرایه در عنصر فرزند <Claim>
عنصر <AdditionalClaims> روی true یا false تنظیم نشده باشد.
|
build |
InvalidValueForElement |
اگر مقدار مشخصشده در عنصر <Algorithm> مقدار پشتیبانیشدهای نباشد،
استقرار ناموفق خواهد بود.
|
build |
MissingConfigurationElement |
اگر عنصر <PrivateKey> با الگوریتمهای خانواده RSA استفاده نشود یا عنصر <SecretKey> با الگوریتمهای خانواده HS استفاده نشود، این خطا رخ میدهد.
|
build |
InvalidKeyConfiguration |
اگر عنصر فرزند <Value> در عناصر <PrivateKey>
یا <SecretKey> تعریف نشده باشد، استقرار ناموفق خواهد بود.
|
build |
EmptyElementForKeyConfiguration |
اگر مشخصه ref عنصر فرزند <Value> عنصر <PrivateKey>
یا <SecretKey> خالی یا نامشخص باشد، استقرار ناموفق خواهد بود.
|
build |
InvalidConfigurationForVerify |
این خطا زمانی رخ میدهد که عنصر <Id> در عنصر
<SecretKey> تعریف شده باشد.
|
build |
InvalidEmptyElement |
اگر عنصر <Source> خطمشی «درستیسنجی JWT»
خالی باشد، این خطا رخ میدهد. اگر وجود داشته باشد، باید با نام متغیر جریان Edge تعریف شود.
|
build |
InvalidPublicKeyValue |
اگر مقدار استفادهشده در عنصر فرزند <JWKS> عنصر <PublicKey>
از قالب معتبری که در RFC 7517 مشخص شده است استفاده نکند،
استقرار ناموفق خواهد بود.
|
build |
InvalidConfigurationForActionAndAlgorithm |
اگر عنصر <PrivateKey> با الگوریتمهای «خانواده HS» استفاده شود یا
عنصر <SecretKey> با الگوریتمهای «خانواده RSA» استفاده شود،
استقرار ناموفق خواهد بود.
|
build |
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که یک خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.
| متغیرها | کجا | مثال |
|---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | fault.name Matches "TokenExpired" |
JWT.failed | همه خط مشی های JWT متغیرهای یکسانی را در صورت خرابی تنظیم می کنند. | JWT.failed = true |
نمونه پاسخ خطا
برای رسیدگی به خطا، بهترین روش به دام انداختن قسمت errorcode در پاسخ به خطا است. به متن موجود در faultstring تکیه نکنید، زیرا ممکن است تغییر کند.
مثال قانون خطا
<FaultRules>
<FaultRule name="JWT Policy Errors">
<Step>
<Name>JavaScript-1</Name>
<Condition>(fault.name Matches "TokenExpired")</Condition>
</Step>
<Condition>JWT.failed=true</Condition>
</FaultRule>
</FaultRules>
خطمشی XMLThreatProtection
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطایی را که Edge هنگام راهاندازی خطا در این خطمشی تنظیم میکند شرح میدهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه میدهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدو رسیدگی به اشکالات را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای خطمشی رخ دهند.
| کد خطا | وضعیت HTTP | علت | رفع اشکال |
|---|---|---|---|
steps.xmlthreatprotection.ExecutionFailed |
۵۰۰ | خطمشی XMLThreatProtection میتواند انواع مختلفی از خطاهای ExecutionFailed را ایجاد کند. بیشتر این خطاها زمانی رخ میدهند که از آستانه مشخصشده در خطمشی فراتر رفته باشید. این انواع خطاها شامل موارد زیر است: طول نام عنصر، تعداد فرزند، عمق گره، تعداد مشخصه، طول نام مشخصه، و بسیاری موارد دیگر. میتوانید فهرست کامل را در موضوع عیبیابی خطای زمان اجرای خطمشی XMLThreatProtection ببینید. | build |
steps.xmlthreatprotection.InvalidXMLPayload |
۵۰۰ |
این خطا زمانی رخ میدهد که بار پیام ورودی مشخصشده توسط عنصر <Source> خطمشی XMLThreatProtection یک «سند زبان نشانهگذاری توسعهپذیر» معتبر نباشد.
|
build |
steps.xmlthreatprotection.SourceUnavailable |
۵۰۰ |
این خطا زمانی رخ میدهد که متغیر پیام
مشخصشده در عنصر <Source> یکی از موارد زیر باشد:
|
build |
steps.xmlthreatprotection.NonMessageVariable |
۵۰۰ |
اگر عنصر <Source> روی متغیری تنظیم شده باشد که از نوع
پیام نباشد، این خطا روی میدهد.
|
build |
نکتهها:
- نام خطای ExecutionFailed نام خطای پیشفرض است و صرفنظر از نوع خطای شناساییشده برگردانده میشود؛ بااینحال، این پیشفرض را میتوان با تنظیم دارایی سطح سازمان تغییر داد. وقتی این دارایی تنظیم میشود، نام خطا نشاندهنده خطای واقعی خواهد بود. برای مثال، «TextExceeded» یا «AttrValueExceeded». برای جزئیات، یادداشتهای استفاده را ببینید.
- وضعیت ۵۰۰ اچتیتیپی پیشفرض است؛ بااینحال، با تنظیم دارایی سطح سازمان، وضعیت اچتیتیپی میتواند برای خطاهای جاری درخواست به ۴۰۰ تغییر کند. برای جزئیات، یادداشتهای استفاده را ببینید.
خطاهای استقرار
هیچکدام.
متغیرهای خطا
این متغیرها زمانی تنظیم میشوند که خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدرا ببینید.
| متغیر | مکان | مثال |
|---|---|---|
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 |
۵۰۰ | این خطا زمانی رخ میدهد که بار ورودی (XML) خالی باشد یا XML ورودی نامعتبر یا بدشکل باشد. | build |
steps.xmltojson.InCompatibleType |
۵۰۰ | این خطا زمانی رخ میدهد که نوع متغیر تعریفشده در عنصر <Source> و عنصر <OutputVariable> یکسان نباشد. الزامی است که نوع متغیرهای
موجود در عنصر <Source> و عنصر <OutputVariable> مطابقت داشته باشد.
|
build |
steps.xmltojson.InvalidSourceType |
۵۰۰ | این خطا زمانی رخ میدهد که نوع متغیر استفادهشده برای تعریف عنصر <Source> نامعتبر باشد.انواع معتبر متغیر عبارتاند از پیام و رشته. |
build |
steps.xmltojson.OutputVariableIsNotAvailable |
۵۰۰ | این خطا زمانی رخ میدهد که متغیر مشخصشده در عنصر <Source> از XML به
خطمشی JSON از نوع رشته باشد و عنصر <OutputVariable> تعریف نشده باشد.
وقتی متغیر تعریفشده در عنصر <Source>
از نوع رشته باشد، عنصر <OutputVariable> اجباری است. |
build |
steps.xmltojson.SourceUnavailable |
۵۰۰ |
این خطا زمانی رخ میدهد که متغیر پیام
مشخصشده در عنصر <Source> خطمشی XML به JSON یکی از موارد زیر باشد:
|
build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | علت | رفع اشکال |
|---|---|---|
EitherOptionOrFormat |
اگر یکی از عناصر <Options> یا <Format> در «خطمشی XML به JSON»
اعلام نشده باشد، استقرار پراکسی API ناموفق خواهد بود.
|
build |
UnknownFormat |
اگر عنصر <Format> در خطمشی XML به JSON قالب ناشناختهای داشته باشد،
استقرار پراکسی API ناموفق خواهد بود. قالبهای ازپیش تعریفشده شامل:
xml.com، yahoo، google، و badgerFish میشود.
|
build |
متغیرهای خطا
این متغیرها زمانی تنظیم میشوند که خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خطمشی بدانیدرا ببینید.
| متغیر | مکان | مثال |
|---|---|---|
fault.name="fault_name" |
fault_name نام خطا است، همانطور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. | fault.name = "SourceUnavailable" |
xmltojson.policy_name.failed |
policy_name نام مشخصشده کاربر برای خطمشیای است که خطا را ایجاد کرده است. | xmltojson.XMLtoJSON-1.failed = true |
نمونه پاسخ خطا
{ "fault": { "faultstring": "XMLToJSON[XMLtoJSON-1]: Source xyz is not available", "detail": { "errorcode": "steps.xml2json.SourceUnavailable" } } }
قانون خطای نمونه
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="XML to JSON Faults"> <Step> <Name>AM-SourceUnavailableMessage</Name> <Condition>(fault.name Matches "SourceUnavailable") </Condition> </Step> <Step> <Name>AM-BadXML</Name> <Condition>(fault.name = "ExecutionFailed")</Condition> </Step> <Condition>(xmltojson.XMLtoJSON-1.failed = true) </Condition> </FaultRule>
خطمشی XSLTransform
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای خطمشی رخ دهند.
| کد خطا | وضعیت HTTP | علت | رفع اشکال |
|---|---|---|---|
steps.xsl.XSLSourceMessageNotAvailable |
۵۰۰ |
این خطا زمانی رخ میدهد که متغیر رشته یا پیام مشخصشده در عنصر <Source> خطمشی «تبدیل XSL» خارج از محدوده باشد (در جریان خاصی که خطمشی در آن اجرا میشود دردسترس نباشد) یا قابلحل نباشد (تعریف نشده باشد).
|
build |
steps.xsl.XSLEvaluationFailed |
۵۰۰ | این خطا زمانی رخ میدهد که بار XML ورودی دردسترس نباشد/بدشکل باشد یا خطمشی XSLTransform براساس قوانین تبدیل ارائهشده در فایل XSL نتواند فایل XML ورودی را تبدیل کند/نتواند تبدیل کند. دلایل مختلفی میتواند باعث شود خطمشی XSLTransform با خطا مواجه شود. دلیل عدم موفقیت در پیام خطا اطلاعات بیشتری درباره علت ارائه خواهد داد. | build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خطمشی را مستقر میکنید.
| نام خطا | علت | رفع اشکال |
|---|---|---|
XSLEmptyResourceUrl |
اگر عنصر <ResourceURL> در خطمشی «تبدیل XSL» خالی باشد، استقرار پراکسی API ناموفق خواهد بود. |
build |
XSLInvalidResourceType |
اگر نوع منبع مشخصشده در عنصر <ResourceURL> خطمشی «تبدیل XSL»
از نوع xsl نباشد، استقرار پراکسی API ناموفق خواهد بود. |
build |