شما در حال مشاهده اسناد 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 نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | fault.name Matches "IPDeniedAccess" |
acl. policy_name .failed | policy_name نام سیاستی است که توسط کاربر مشخص شده است که خطا را ایجاد کرده است. | acl.AC-AllowAccess.failed = true |
نمونه پاسخ خطا
{ "fault":{ "faultstring":"Access Denied for client ip : 52.211.243.3" "detail":{ "errorcode":"accesscontrol.IPDeniedAccess" } } }
مثال قانون خطا
<FaultRule name="IPDeniedAccess"> <Step> <Name>AM-IPDeniedAccess</Name> <Condition>(fault.name Matches "IPDeniedAccess") </Condition> </Step> <Condition>(acl.failed = true) </Condition> </FaultRule>
خط مشی AccessEntity
برای اطلاعات مرتبط، به آنچه باید در مورد خطاهای خط مشی و خطاهای مدیریتی بدانید مراجعه کنید.
خطاهای زمان اجرا
هیچ یک.
خطاهای استقرار
نام خطا | رشته خطا | وضعیت HTTP | زمانی رخ می دهد |
---|---|---|---|
InvalidEntityType | Invalid type [entity_type] in ACCESSENTITYStepDefinition [policy_name] | N/A | نوع موجودیت مورد استفاده باید یکی از انواع پشتیبانی شده باشد. |
خط مشی AssignMessage
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
کد خطا | وضعیت HTTP | علت | رفع کنید |
---|---|---|---|
steps.assignmessage.SetVariableFailed | 500 | خط مشی قادر به تنظیم متغیر نبود. رشته خطا را برای نام متغیر حل نشده ببینید. | |
steps.assignmessage.VariableOfNonMsgType | 500 | اگر مشخصه متغیرهای نوع پیام، کل درخواستها و پاسخهای HTTP را نشان میدهند. متغیرهای جریان لبه داخلی | build |
steps.assignmessage.UnresolvedVariable | 500 | این خطا در صورتی رخ می دهد که متغیر مشخص شده در خط مشی Assign Message یکی از این موارد باشد:
| build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.
نام خطا | علت | رفع کنید |
---|---|---|
InvalidIndex | اگر شاخص مشخص شده در عناصر <Copy> و/یا <Remove> خط مشی Assign Message 0 یا یک عدد منفی باشد، در آن صورت استقرار API Proxy ناموفق است. | build |
InvalidVariableName | اگر عنصر فرزند <Name> خالی باشد یا در عنصر <AssignVariable> مشخص نشده باشد، استقرار پراکسی API با شکست مواجه می شود زیرا نام متغیر معتبری وجود ندارد که بتوان مقداری به آن اختصاص داد. یک نام متغیر معتبر مورد نیاز است. | build |
InvalidPayload | محموله مشخص شده در خط مشی نامعتبر است. |
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که این خط مشی خطایی را در زمان اجرا ایجاد کند. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.
متغیرها | کجا | مثال |
---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | 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="VariableOfNonMsgType"></faultrule><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>
خط مشی احراز هویت اولیه
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
کد خطا | وضعیت HTTP | علت | رفع کنید |
---|---|---|---|
steps.basicauthentication.InvalidBasicAuthenticationSource | 500 | در رمزگشایی که رشته رمزگذاری شده Base64 ورودی حاوی مقدار معتبری نیست یا سربرگ بد شکل است (مثلاً با "Basic" شروع نمی شود). | build |
steps.basicauthentication.UnresolvedVariable | 500 | متغیرهای منبع مورد نیاز برای رمزگشایی یا رمزگذاری وجود ندارد. این خطا تنها زمانی رخ می دهد که IgnoreUnresolvedVariables نادرست باشد. | build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.
نام خطا | زمانی رخ می دهد | رفع کنید |
---|---|---|
UserNameRequired | عنصر <User> باید برای عملیات نامگذاری شده وجود داشته باشد. | build |
PasswordRequired | عنصر <Password> باید برای عملیات نامگذاری شده وجود داشته باشد. | build |
AssignToRequired | عنصر <AssignTo> باید برای عملیات نامگذاری شده وجود داشته باشد. | build |
SourceRequired | عنصر <Source> باید برای عملیات نامگذاری شده وجود داشته باشد. | build |
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که یک خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.
متغیرها | کجا | مثال |
---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | fault.name Matches "UnresolvedVariable" |
BasicAuthentication. policy_name .failed | policy_name نام سیاستی است که توسط کاربر مشخص شده است که خطا را ایجاد کرده است. | BasicAuthentication.BA-Authenticate.failed = true |
نمونه پاسخ خطا
{ "fault":{ "detail":{ "errorcode":"steps.basicauthentication.UnresolvedVariable" }, "faultstring":"Unresolved variable : request.queryparam.password" } }
مثال قانون خطا
<FaultRule name="Basic Authentication Faults"> <Step> <Name>AM-UnresolvedVariable</Name> <Condition>(fault.name Matches "UnresolvedVariable") </Condition> </Step> <Step> <Name>AM-AuthFailedResponse</Name> <Condition>(fault.name = "InvalidBasicAuthenticationSource")</Condition> </Step> <Condition>(BasicAuthentication.BA-Authentication.failed = true) </Condition> </FaultRule>
خط مشی ConcurrentRateLimit
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
کد خطا | وضعیت HTTP | زمانی رخ می دهد |
---|---|---|
policies.concurrentratelimit.ConcurrentRatelimtViolation | 503 | اتصال ConcurrentRatelim بیش از حد مجاز است. محدودیت اتصال: {0} توجه: کد خطا نشان داده شده در سمت چپ صحیح است، اگرچه حاوی یک غلط املایی ("limt") است. هنگام ایجاد قوانین خطا برای به دام انداختن این خطا، حتماً از کد دقیقاً همانطور که در اینجا نشان داده شده است استفاده کنید. |
خطاهای استقرار
نام خطا | زمانی رخ می دهد |
---|---|
InvalidCountValue | مقدار شمارش نامعتبر ConcurrentRatelim مشخص شده است. |
ConcurrentRatelimitStepAttachment\ | ضمیمه خطمشی Ratelimit همزمان {0} در مسیرهای درخواست/پاسخ/عیب پروکسی مجاز نیست. این سیاست باید در نقطه پایانی هدف قرار گیرد. |
ConcurrentRatelimitStepAttachment\ | در مسیرهای درخواست/پاسخ/عیب مورد نظر، پیوست خط مشی محدودیت نرخی همزمان {0} وجود ندارد. این خط مشی باید در Target Request Preflow، Target Response Postflow و DefaultFaultRule قرار گیرد. |
InvalidTTLForMessageTimeOut | مقدار ttl نامعتبر ConcurrentRatelimit برای زمان پایان پیام مشخص شده است. باید یک عدد صحیح مثبت باشد. |
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که این خط مشی خطایی را ایجاد کند. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.
متغیرها | کجا | مثال |
---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | 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 | 500 | این خطا زمانی رخ می دهد که:
| build |
steps.extractvariables.ImmutableVariable | 500 | متغیر مورد استفاده در خط مشی تغییرناپذیر است. خط مشی قادر به تنظیم این متغیر نبود. | |
steps.extractvariables.InvalidJSONPath | 500 | اگر از یک مسیر JSON نامعتبر در عنصر JSONPath خط مشی استفاده شود، این خطا رخ می دهد. به عنوان مثال، اگر یک بار JSON دارای Name شیء نباشد، اما Name به عنوان مسیر در خط مشی مشخص کنید، این خطا رخ می دهد. | build |
steps.extractvariables.JsonPathParsingFailure | 500 | این خطا زمانی رخ می دهد که خط مشی قادر به تجزیه یک مسیر JSON و استخراج داده ها از متغیر جریان مشخص شده در عنصر Source نباشد. به طور معمول این اتفاق می افتد اگر متغیر جریان مشخص شده در عنصر Source در جریان فعلی وجود نداشته باشد. | build |
steps.extractvariables.SetVariableFailed | 500 | اگر خط مشی نتواند مقدار یک متغیر را تنظیم کند، این خطا رخ می دهد. این خطا معمولاً در صورتی اتفاق میافتد که بخواهید مقادیری را به چندین متغیر اختصاص دهید که نام آنها با کلمات مشابه در قالب جدا شده از نقطه تو در تو آغاز میشود. | build |
steps.extractvariables.SourceMessageNotAvailable | 500 | این خطا در صورتی رخ می دهد که متغیر پیام مشخص شده در عنصر Source سیاست یکی از این موارد باشد:
| build |
steps.extractvariables.UnableToCast | 500 | این خطا در صورتی رخ می دهد که خط مشی قادر به ارسال مقدار استخراج شده به یک متغیر نباشد. معمولاً اگر بخواهید مقدار یک نوع داده را روی متغیری از نوع داده دیگر تنظیم کنید، این اتفاق می افتد. | build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.
نام خطا | علت | رفع کنید |
---|---|---|
NothingToExtract | اگر خط مشی هیچ یک از عناصر URIPath ، QueryParam ، Header ، FormParam ، XMLPayload ، یا JSONPayload را نداشته باشد، استقرار پروکسی API ناموفق است، زیرا چیزی برای استخراج وجود ندارد. | build |
NONEmptyPrefixMappedToEmptyURI | این خطا در صورتی رخ می دهد که خط مشی دارای پیشوندی باشد که در عنصر Namespace زیر عنصر XMLPayload تعریف شده است، اما URI تعریف نشده باشد. | 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 | اگر خط مشی دارای ویژگی name در هیچ یک از عناصر خط مشی مانند QueryParam ، Header ، FormParam یا Variable نباشد، در آن صورت استقرار پروکسی 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 نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | 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 | برای یک کلید کمتر از 32 بایت برای الگوریتم 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>
ایجاد خط مشی JWT
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
کد خطا | وضعیت HTTP | زمانی رخ می دهد |
---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration | 401 | زمانی رخ می دهد که خط مشی تأیید چندین الگوریتم داشته باشد. |
steps.jwt.AlgorithmMismatch | 401 | الگوریتم مشخصشده در خطمشی Generate با الگوریتم مورد انتظار در خطمشی تأیید مطابقت نداشت. الگوریتم های مشخص شده باید مطابقت داشته باشند. |
steps.jwt.FailedToDecode | 401 | این خط مشی قادر به رمزگشایی JWT نبود. JWT احتمالاً خراب است. |
steps.jwt.GenerationFailed | 401 | این سیاست قادر به ایجاد JWT نبود. |
steps.jwt.InsufficientKeyLength | 401 | برای یک کلید کمتر از 32 بایت برای الگوریتم HS256، کمتر از 48 بایت برای الگوریتم HS386، و کمتر از 64 بایت برای الگوریتم HS512. |
steps.jwt.InvalidClaim | 401 | برای ادعای مفقود یا عدم تطابق ادعا، یا عدم تطابق سرصفحه یا سرصفحه. |
steps.jwt.InvalidCurve | 401 | منحنی مشخص شده توسط کلید برای الگوریتم منحنی بیضی معتبر نیست. |
steps.jwt.InvalidJsonFormat | 401 | JSON نامعتبر در سرصفحه یا محموله یافت شد. |
steps.jwt.InvalidToken | 401 | این خطا زمانی رخ می دهد که تأیید امضای JWT ناموفق باشد. |
steps.jwt.JwtAudienceMismatch | 401 | ادعای مخاطب در راستیآزمایی رمز شکست خورد. |
steps.jwt.JwtIssuerMismatch | 401 | ادعای صادرکننده در تأیید توکن ناموفق بود. |
steps.jwt.JwtSubjectMismatch | 401 | ادعای موضوع در تأیید رمز شکست خورد. |
steps.jwt.KeyIdMissing | 401 | خطمشی تأیید از یک JWKS به عنوان منبع کلیدهای عمومی استفاده میکند، اما JWT امضاشده دارای ویژگی kid در سرصفحه نیست. |
steps.jwt.KeyParsingFailed | 401 | کلید عمومی از اطلاعات کلید داده شده قابل تجزیه نیست. |
steps.jwt.NoAlgorithmFoundInHeader | 401 | زمانی اتفاق میافتد که JWT فاقد سربرگ الگوریتم باشد. |
steps.jwt.NoMatchingPublicKey | 401 | خطمشی تأیید از یک JWKS به عنوان منبع کلیدهای عمومی استفاده میکند، اما kid در JWT امضا شده در JWKS فهرست نشده است. |
steps.jwt.SigningFailed | 401 | در GenerateJWT، برای کلیدی کمتر از حداقل اندازه الگوریتمهای HS384 یا HS512 |
steps.jwt.TokenExpired | 401 | این خطمشی تلاش میکند یک توکن منقضی شده را تأیید کند. |
steps.jwt.TokenNotYetValid | 401 | رمز هنوز معتبر نیست. |
steps.jwt.UnhandledCriticalHeader | 401 | سرصفحه ای که توسط خط مشی Verify JWT در سرصفحه crit یافت شده است در KnownHeaders فهرست نشده است. |
steps.jwt.UnknownException | 401 | یک استثنا ناشناخته رخ داد. |
steps.jwt.WrongKeyType | 401 | نوع کلید اشتباه مشخص شده است. به عنوان مثال، اگر یک کلید RSA برای یک الگوریتم منحنی بیضی یا یک کلید منحنی برای یک الگوریتم RSA مشخص کنید. |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.
نام خطا | علت | ثابت |
---|---|---|
InvalidNameForAdditionalClaim | اگر ادعای مورد استفاده در عنصر فرزند <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 | 500 | بار ورودی (JSON) خالی است یا ورودی (JSON) که به خط مشی JSON به XML ارسال شده است نامعتبر یا نادرست است. | build |
steps.jsontoxml.InCompatibleTypes | 500 | این خطا در صورتی رخ می دهد که نوع متغیر تعریف شده در عنصر <Source> و عنصر <OutputVariable> یکسان نباشد. اجباری است که نوع متغیرهای موجود در عنصر <Source> و عنصر <OutputVariable> مطابقت داشته باشد. انواع معتبر message و string هستند. | build |
steps.jsontoxml.InvalidSourceType | 500 | این خطا در صورتی رخ می دهد که نوع متغیر مورد استفاده برای تعریف عنصر <Source> نامعتبر باشد. انواع معتبر متغیر message و string هستند. | build |
steps.jsontoxml.OutputVariableIsNotAvailable | 500 | اگر متغیر مشخص شده در عنصر <Source> سیاست JSON به XML از نوع string باشد و عنصر <OutputVariable> تعریف نشده باشد، این خطا رخ می دهد. عنصر <OutputVariable> زمانی اجباری است که متغیر تعریف شده در عنصر <Source> از نوع رشته باشد. | build |
steps.jsontoxml.SourceUnavailable | 500 | این خطا در صورتی رخ می دهد که متغیر پیام مشخص شده در عنصر <Source> خط مشی JSON به XML یکی از این موارد باشد:
| build |
خطاهای استقرار
هیچ کدام.
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که یک خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.
متغیرها | کجا | مثال |
---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | fault.name Matches "SourceUnavailable" |
jsontoxml. policy_name .failed | policy_name نام سیاستی است که توسط کاربر مشخص شده است که خطا را ایجاد کرده است. | jsontoxml.JSON-to-XML-1.failed = true |
نمونه پاسخ خطا
{ "fault": { "faultstring": "JSONToXML[JSON-to-XML-1]: Source xyz is not available", "detail": { "errorcode": "steps.json2xml.SourceUnavailable" } } }
مثال قانون خطا
<FaultRule name="JSON To XML Faults"> <Step> <Name>AM-SourceUnavailableMessage</Name> <Condition>(fault.name Matches "SourceUnavailable") </Condition> </Step> <Step> <Name>AM-BadJSON</Name> <Condition>(fault.name = "ExecutionFailed")</Condition> </Step> <Condition>(jsontoxml.JSON-to-XML-1.failed = true) </Condition> </FaultRule>
خط مشی KeyValueMapOperations
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
کد خطا | وضعیت HTTP | علت | ثابت |
---|---|---|---|
steps.keyvaluemapoperations.SetVariableFailed | 500 | اگر بخواهید مقداری را از نقشه مقدار کلید رمزگذاری شده بازیابی کنید و مقدار آن را روی متغیری تنظیم کنید که نام آن پیشوند | build |
steps.keyvaluemapoperations.UnsupportedOperationException | 500 | اگر مشخصه | build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.
نام خطا | علت | ثابت |
---|---|---|
InvalidIndex | اگر ویژگی index مشخص شده در عنصر <Get> خط مشی عملیات نقشه ارزش کلیدی صفر یا یک عدد منفی باشد، در این صورت استقرار پراکسی API با شکست مواجه می شود. شاخص از 1 شروع می شود، بنابراین یک شاخص صفر یا منفی به عنوان نامعتبر در نظر گرفته می شود. | build |
KeyIsMissing | این خطا در صورتی رخ می دهد که عنصر <Key> به طور کامل گم شده باشد یا عنصر <Parameter> در عنصر <Key> در زیر <Entry> عنصر <InitialEntries> خط مشی Key Value Map Operations وجود نداشته باشد. | build |
ValueIsMissing | این خطا در صورتی رخ می دهد که عنصر <Value> در زیر عنصر <Entry> عنصر <InitialEntries> خط مشی Key Value Map Operations وجود نداشته باشد. | build |
خط مشی LDAP
این خط مشی از کدهای خطای زیر استفاده می کند:
کد خطا | پیام |
---|---|
InvalidAttributeName | Invalid attribute name {0}. |
InvalidSearchBase | Search base can not be empty. |
InvalidValueForPassword | Invalid value for password field. It can not be empty. |
InvalidSearchScope | Invalid scope {0}. Allowed scopes are {1}. |
InvalidUserCredentials | Invalid user credentials. |
InvalidExternalLdapReference | Invalid external ldap reference {0}. |
LdapResourceNotFound | Ldap resource {0} not found. |
BaseDNRequired | Base DN required. |
OnlyReferenceOrValueIsAllowed | Only value or reference is allowed for {0}. |
AttributesRequired | At least one attribute required for search action. |
UserNameIsNull | User name is null. |
SearchQueryAndUserNameCannotBePresent | Both search query and username can not be present in the authentication action. Please specify either one of them. |
خط مشی MessageLogging
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
کد خطا | وضعیت HTTP | علت |
---|---|---|
steps.messagelogging.StepDefinitionExecutionFailed | 500 | رشته خطا را ببینید. |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.
نام خطا | علت | رفع کنید |
---|---|---|
InvalidProtocol | اگر پروتکل مشخص شده در عنصر <Protocol> معتبر نباشد، اجرای سیاست MessageLogging ممکن است با این خطا با شکست مواجه شود. پروتکل های معتبر TCP و UDP هستند. برای ارسال پیام های syslog از طریق TLS/SSL، فقط TCP پشتیبانی می شود. | build |
InvalidPort | اگر شماره پورت در عنصر <Port> مشخص نشده باشد یا اگر معتبر نباشد، استقرار سیاست MessageLogging ممکن است با این خطا با شکست مواجه شود. شماره پورت باید یک عدد صحیح بزرگتر از صفر باشد. | build |
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که یک خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.
متغیرها | کجا | مثال |
---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | 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>
خط مشی اعتبارسنجی OAS
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
کد خطا | وضعیت HTTP | علت | |
---|---|---|---|
steps.oasvalidation.Failed | 500 | بدنه پیام درخواست را نمی توان در برابر مشخصات OpenAPI ارائه شده تأیید کرد. | |
steps.oasvalidation.SourceMessageNotAvailable | 500 | متغیر مشخص شده در عنصر | |
steps.oasvalidation.NotMessageVariable | 500 | عنصر | build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.
نام خطا | علت | |
---|---|---|
ResourceDoesNotExist | مشخصات OpenAPI ارجاع شده در عنصر <OASResource> وجود ندارد. | |
ResourceCompileFailed | مشخصات OpenAPI که در استقرار گنجانده شده است حاوی خطاهایی است که از کامپایل شدن آن جلوگیری می کند. این به طور کلی نشان می دهد که مشخصات یک OpenAPI Specification 3.0 به خوبی شکل گرفته نیست. | |
BadResourceURL | مشخصات OpenAPI ارجاع شده در عنصر <OASResource> قابل پردازش نیست. اگر فایل JSON یا YAML نباشد یا URL فایل به درستی مشخص نشده باشد، ممکن است این اتفاق بیفتد. |
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که این خط مشی خطایی را در زمان اجرا ایجاد کند. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.
متغیرها | جایی که | مثال |
---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | fault.name Matches "ResourceDoesNotExist" |
oasvalidation. policy_name .failed | policy_name نام سیاستی است که توسط کاربر مشخص شده است که خطا را ایجاد کرده است. | oasvalidation.myoaspolicy.failed = true |
خط مشی PopulateCache
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
کد خطا | وضعیت HTTP | زمانی رخ می دهد |
---|---|---|
policies.populatecache.EntryCannotBeCached | 500 | ورودی را نمی توان کش کرد. شیء پیامی که در حافظه پنهان ذخیره می شود نمونه ای از کلاسی نیست که قابل سریال سازی باشد. |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.
نام خطا | علت | رفع کنید |
---|---|---|
InvalidCacheResourceReference | اگر عنصر <CacheResource> در خط مشی PopulateCache روی نامی تنظیم شود که در محیطی که پراکسی API در آن مستقر می شود وجود نداشته باشد، این خطا رخ می دهد. | build |
CacheNotFound | حافظه پنهان مشخص شده در عنصر <CacheResource> وجود ندارد. | build |
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که این خط مشی خطایی را ایجاد کند. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.
متغیرها | کجا | مثال |
---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | 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
این بخش پیامهای خطا و متغیرهای جریانی را توضیح میدهد که وقتی این خطمشی خطا را راهاندازی میکند، تنظیم میشود. این اطلاعات مهم است که بدانید آیا در حال ایجاد قوانین خطا برای یک پروکسی هستید. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
پیشوند کد خطا
N/A
خطاهای زمان اجرا
این سیاست هیچ گونه خطای زمان اجرا ایجاد نمی کند.
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.
نام خطا | علت | ثابت |
---|---|---|
InvalidTimeout | اگر عنصر <CacheLookupTimeoutInSeconds> خط مشی ResponseCache روی یک عدد منفی تنظیم شود، آنگاه استقرار پراکسی API با شکست مواجه می شود. | build |
InvalidCacheResourceReference | اگر عنصر <CacheResource> در یک خطمشی ResponseCache روی نامی تنظیم شود که در محیطی که پراکسی API در آن مستقر میشود، وجود نداشته باشد، این خطا رخ میدهد. | build |
ResponseCacheStepAttachmentNotAllowedReq | این خطا در صورتی رخ می دهد که همان سیاست ResponseCache به چندین مسیر درخواست در هر جریانی از یک پروکسی API متصل شود. | build |
ResponseCacheStepAttachmentNotAllowedResp | این خطا در صورتی رخ می دهد که همان سیاست ResponseCache به چندین مسیر پاسخ در هر جریانی از یک پروکسی API متصل شود. | build |
InvalidMessagePatternForErrorCode | اگر عنصر <SkipCacheLookup> یا <SkipCachePopulation> در یک خط مشی ResponseCache دارای یک شرط نامعتبر باشد، این خطا رخ می دهد. | build |
CacheNotFound | این خطا در صورتی رخ می دهد که حافظه پنهان ذکر شده در پیام خطا روی یک جزء خاص Message Processor ایجاد نشده باشد. | build |
متغیرهای خطا
N/A
نمونه پاسخ خطا
N/A
خط مشی OAuthV2
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
کد خطا | وضعیت HTTP | علت | پرتاب شده توسط عملیات |
---|---|---|---|
steps.oauth.v2.access_token_expired | 401 | رمز دسترسی منقضی شده است. | VerifyAccessToken |
steps.oauth.v2.access_token_not_approved | 401 | رمز دسترسی لغو شد. | VerifyAccessToken |
steps.oauth.v2.apiresource_doesnot_exist | 401 | منبع درخواستی هیچ یک از محصولات API مرتبط با نشانه دسترسی وجود ندارد. | VerifyAccessToken |
steps.oauth.v2.FailedToResolveAccessToken | 500 | این خطمشی انتظار داشت که یک نشانه دسترسی در متغیری که در عنصر <AccessToken> مشخص شده است پیدا کند، اما متغیر قابل حل نیست. | GenerateAccessToken |
steps.oauth.v2.FailedToResolveAuthorizationCode | 500 | این خطمشی انتظار داشت یک کد مجوز را در یک متغیر مشخص شده در عنصر <Code> پیدا کند، اما متغیر قابل حل نیست. | GenerateAuthorizationCode |
steps.oauth.v2.FailedToResolveClientId | 500 | این خطمشی انتظار داشت شناسه مشتری را در متغیری که در عنصر <ClientId> مشخص شده است پیدا کند، اما متغیر قابل حل نیست. | GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.FailedToResolveRefreshToken | 500 | این خطمشی انتظار داشت که یک نشانه تازهسازی را در متغیری که در عنصر <RefreshToken> مشخص شده است پیدا کند، اما متغیر قابل حل نیست. | RefreshAccessToken |
steps.oauth.v2.FailedToResolveToken | 500 | این خطمشی انتظار داشت که یک نشانه را در یک متغیر مشخص شده در عنصر <Tokens> پیدا کند، اما متغیر قابل حل نیست. | ValidateToken |
steps.oauth.v2.InsufficientScope | 403 | نشانه دسترسی ارائه شده در درخواست دارای محدوده ای است که با محدوده مشخص شده در خط مشی رمز دسترسی تأیید مطابقت ندارد. برای آشنایی با دامنه، به کار با دامنه های OAuth2 مراجعه کنید. | VerifyAccessToken |
steps.oauth.v2.invalid_access_token | 401 | رمز دسترسی ارسال شده از مشتری نامعتبر است. | VerifyAccessToken |
steps.oauth.v2.invalid_client | 401 | زمانی که ویژگی توجه: توصیه میشود شرایط قانون خطای موجود را تغییر دهید تا نامهای | GenerateAccessToken RefreshAccessToken |
steps.oauth.v2.invalid_request | 400 | این نام خطا برای چندین نوع خطا استفاده میشود، معمولاً برای پارامترهای گم شده یا نادرست ارسال شده در درخواست. اگر <GenerateResponse> روی false تنظیم شده است، از متغیرهای خطا (که در زیر توضیح داده شده است) استفاده کنید تا جزئیات مربوط به خطا، مانند نام و علت خطا را بازیابی کنید. | GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.InvalidAccessToken | 401 | سرصفحه مجوز کلمه "حامل" را ندارد که لازم است. به عنوان مثال: Authorization: Bearer your_access_token | VerifyAccessToken |
steps.oauth.v2.InvalidAPICallAsNo\ | 401 | پروکسی API در محصول مرتبط با رمز دسترسی نیست. نکات: مطمئن شوید که محصول مرتبط با نشانه دسترسی به درستی پیکربندی شده است. به عنوان مثال، اگر در مسیرهای منبع از حروف عام استفاده میکنید، مطمئن شوید که از حروف عام به درستی استفاده میشود. برای جزئیات بیشتر به ایجاد محصولات API مراجعه کنید. برای راهنمایی بیشتر در مورد علل این خطا ، این پست انجمن Apigee را نیز ببینید. | VerifyAccessToken |
steps.oauth.v2.InvalidClientIdentifier | 500 | زمانی که ویژگی | GenerateAccessToken |
steps.oauth.v2.InvalidParameter | 500 | این خطمشی باید یک رمز دسترسی یا یک کد مجوز را مشخص کند، اما نه هر دو را. | GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.InvalidTokenType | 500 | عنصر <Tokens>/<Token> از شما می خواهد که نوع رمز را مشخص کنید (به عنوان مثال، refreshtoken ). اگر کلاینت از نوع اشتباه عبور کند، این خطا پرتاب می شود. | ValidateToken InvalidateToken |
steps.oauth.v2.MissingParameter | 500 | نوع پاسخ token است، اما هیچ نوع کمک مالی مشخص نشده است. | GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.UnSupportedGrantType | 500 | مشتری یک نوع کمک مالی را مشخص کرده است که توسط این خط مشی پشتیبانی نمی شود (در عنصر <SupportedGrantTypes> فهرست نشده است). توجه: در حال حاضر یک اشکال وجود دارد که در آن خطاهای نوع کمک مالی پشتیبانی نشده به درستی پرتاب نمی شوند. اگر یک خطای نوع اعطای پشتیبانی نشده رخ دهد، پروکسی همانطور که انتظار می رود وارد جریان خطا نمی شود. | GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.
نام خطا | علت |
---|---|
InvalidValueForExpiresIn | برای عنصر |
InvalidValueForRefreshTokenExpiresIn | برای عنصر <RefreshTokenExpiresIn> ، مقادیر معتبر اعداد صحیح مثبت و -1 هستند. |
InvalidGrantType | یک نوع کمک مالی نامعتبر در عنصر <SupportedGrantTypes> مشخص شده است. برای فهرستی از انواع معتبر به مرجع خط مشی مراجعه کنید. |
ExpiresInNotApplicableForOperation | مطمئن شوید که عملیات مشخص شده در عنصر <Operations> منقضی شده است. برای مثال، عملیات VerifyToken اینطور نیست. |
RefreshTokenExpiresInNotApplicableForOperation | مطمئن شوید که عملیات مشخص شده در عنصر <Operations> از انقضای نشانه رفرش پشتیبانی می کند. برای مثال، عملیات VerifyToken اینطور نیست. |
GrantTypesNotApplicableForOperation | مطمئن شوید که انواع کمک هزینه مشخص شده در <SupportedGrantTypes> برای عملیات مشخص شده پشتیبانی می شوند. |
OperationRequired | شما باید با استفاده از عنصر توجه: اگر عنصر |
InvalidOperation | شما باید با استفاده از عنصر توجه: اگر عنصر |
TokenValueRequired | شما باید یک مقدار نشانه <Token> را در عنصر <Tokens> مشخص کنید. |
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که این خط مشی خطایی را در زمان اجرا ایجاد کند.
متغیرها | کجا | مثال |
---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | fault.name = "invalid_request" |
oauthV2. policy_name .failed | policy_name نام سیاستی است که توسط کاربر مشخص شده است که خطا را ایجاد کرده است. | oauthV2.GenerateAccesstoken.failed = true |
oauthV2. policy_name .fault.name | policy_name نام سیاستی است که توسط کاربر مشخص شده است که خطا را ایجاد کرده است. | oauthV2.GenerateAccesstoken.fault.name = invalid_request توجه : برای عملیات 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 | 500 | رمز دسترسی ارسال شده به خط مشی منقضی شده است. |
steps.oauth.v2.invalid_access_token | 500 | رمز دسترسی ارسال شده به خط مشی نامعتبر است. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound | 401 | لطفاً این پست انجمن Apigee را برای اطلاعات در مورد عیب یابی این خطا ببینید. |
خطاهای استقرار
برای اطلاعات در مورد خطاهای استقرار به پیام گزارش شده در UI مراجعه کنید.
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که این خط مشی خطایی را در زمان اجرا ایجاد کند.
متغیرها | کجا | مثال |
---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | fault.name = "invalid_access_token" |
oauthV2. policy_name .failed | policy_name نام سیاستی است که توسط کاربر مشخص شده است که خطا را ایجاد کرده است. | oauthV2.SetTokenInfo.failed = true |
oauthV2. policy_name .fault.name | policy_name نام سیاستی است که توسط کاربر مشخص شده است که خطا را ایجاد کرده است. | oauthV2.SetTokenInfo.fault.name = invalid_access_token |
oauthv2. policy_name .fault.cause | policy_name نام سیاستی است که توسط کاربر مشخص شده است که خطا را ایجاد کرده است. | oauthV2.SetTokenInfo.cause = Invalid Access Token |
نمونه پاسخ خطا
{ "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
مثال قانون خطا
<FaultRule name=SetOAuthV2Info Faults"> <Step> <Name>AM-InvalidTokenResponse</Name> <Condition>(fault.name = "invalid_access_token")</Condition> </Step> <Condition>(oauthV2.failed = true) </Condition> </FaultRule>
خط مشی DeleteOAuthV2Info
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
کد خطا | وضعیت HTTP | علت |
---|---|---|
steps.oauth.v2.invalid_access_token | 401 | رمز دسترسی ارسال شده به خط مشی نامعتبر است. |
steps.oauth.v2.invalid_request-authorization_code_invalid | 401 | کد مجوز ارسال شده به خط مشی نامعتبر است. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound | 401 | لطفاً این پست انجمن Apigee را برای اطلاعات در مورد عیب یابی این خطا ببینید. |
خطاهای استقرار
برای اطلاعات در مورد خطاهای استقرار به پیام گزارش شده در UI مراجعه کنید.
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که این خط مشی خطایی را در زمان اجرا ایجاد کند.
متغیرها | کجا | مثال |
---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | 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 | 500 | خط مشی PythonScript می تواند چندین نوع مختلف از خطاهای ScriptExecutionFailed را ایجاد کند. انواع خطاهای رایج شامل NameError و ZeroDivisionError هستند. | build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.
نام خطا | علت | رفع کنید |
---|---|---|
InvalidResourceUrlFormat | اگر قالب URL منبع مشخص شده در عنصر <ResourceURL> یا <IncludeURL> خط مشی PythonScript نامعتبر باشد، در این صورت استقرار پروکسی API با شکست مواجه می شود. | build |
InvalidResourceUrlReference | اگر عناصر <ResourceURL> یا <IncludeURL> به یک فایل PythonScript اشاره می کنند که وجود ندارد، در این صورت استقرار پروکسی API با شکست مواجه می شود. فایل منبع ارجاع شده باید در سطح پروکسی API، محیط یا سطح سازمان باشد. | build |
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که این خط مشی خطایی را در زمان اجرا ایجاد کند. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.
متغیرها | کجا | مثال |
---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | fault.name Matches "ScriptExecutionFailed" |
pythonscript. policy_name .failed | policy_name نام سیاستی است که توسط کاربر مشخص شده است که خطا را ایجاد کرده است. | pythonscript.PythonScript-1.failed = true |
نمونه پاسخ خطا
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Pythonscript runtime error: "ReferenceError: "status" is not defined.\"", "detail": { "errorcode": "steps.script.ScriptExecutionFailed" } } }
مثال قانون خطا
<FaultRule name="PythonScript Policy Faults"> <Step> <Name>AM-CustomErrorResponse</Name> <Condition>(fault.name Matches "ScriptExecutionFailed") </Condition> </Step> <Condition>(pythonscript.PythonScript-1.failed = true) </Condition> </FaultRule>
سیاست سهمیه بندی
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
کد خطا | وضعیت HTTP | علت | رفع کنید |
---|---|---|---|
policies.ratelimit.FailedToResolveQuotaIntervalReference | 500 | اگر عنصر <Interval> در خط مشی Quota تعریف نشده باشد رخ می دهد. این عنصر اجباری است و برای تعیین فاصله زمانی قابل اعمال برای سهمیه استفاده می شود. فاصله زمانی می تواند دقیقه، ساعت، روز، هفته یا ماه باشد که با عنصر <TimeUnit> تعریف شده است. | build |
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference | 500 | اگر عنصر <TimeUnit> در خط مشی Quota تعریف نشده باشد رخ می دهد. این عنصر اجباری است و برای تعیین واحد زمان قابل اعمال در سهمیه استفاده می شود. فاصله زمانی می تواند بر حسب دقیقه، ساعت، روز، هفته یا ماه باشد. | build |
policies.ratelimit.InvalidMessageWeight | 500 | اگر مقدار عنصر <MessageWeight> مشخص شده از طریق متغیر جریان نامعتبر باشد (مقدار غیر صحیح) رخ می دهد. | build |
policies.ratelimit.QuotaViolation | 500 | از حد مجاز فراتر رفت. | N/A |
خطاهای استقرار
نام خطا | علت | رفع کنید |
---|---|---|
InvalidQuotaInterval | اگر بازه سهمیه مشخص شده در عنصر <Interval> یک عدد صحیح نباشد، در آن صورت استقرار پراکسی API با شکست مواجه می شود. به عنوان مثال، اگر بازه سهمیه مشخص شده 0.1 در عنصر <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> در یک خطمشی Quota کمتر از صفر باشد، در آن صورت استقرار پراکسی API با شکست مواجه میشود. | build |
InvalidAsynchronizeConfigurationForSynchronousQuota | اگر مقدار عنصر <AsynchronousConfiguration> در یک خط مشی Quota روی true تنظیم شود، که همچنین دارای پیکربندی ناهمزمان است که با استفاده از عنصر <AsynchronousConfiguration> تعریف شده است، در این صورت استقرار پراکسی API با شکست مواجه می شود. | build |
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که این خط مشی خطایی را ایجاد کند. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.
متغیرها | کجا | مثال |
---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | fault.name Matches "QuotaViolation" |
ratelimit. policy_name .failed | policy_name نام سیاستی است که توسط کاربر مشخص شده است که خطا را ایجاد کرده است. | ratelimit.QT-QuotaPolicy.failed = true |
نمونه پاسخ خطا
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.QuotaViolation" }, "faultstring":"Rate limit quota violation. Quota limit exceeded. Identifier : _default" } }
مثال قانون خطا
<FaultRules> <FaultRule name="Quota Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "QuotaViolation") </Condition> </Step> <Condition>ratelimit.Quota-1.failed=true</Condition> </FaultRule> </FaultRules>
سیاست ResetQuota
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
کد خطا | وضعیت HTTP | علت | ثابت |
---|---|---|---|
policies.resetquota.InvalidRLPolicy | 500 | خط مشی Quota مشخص شده در عنصر <Quota> خط مشی Reset Quota در پراکسی API تعریف نشده است و بنابراین در طول جریان در دسترس نیست. عنصر <Quota> اجباری است و خط مشی سهمیه هدف را مشخص می کند که شمارنده آن باید از طریق خط مشی Reset Quota به روز شود. | build |
policies.resetquota.FailedToResolveAllowCountRef | N/A | ارجاع به متغیر حاوی تعداد مجاز در عنصر <Allow> سیاست را نمی توان به مقدار تعیین کرد. این عنصر اجباری است و میزان کاهش سهمیه شمار را مشخص می کند. | build |
policies.resetquota.FailedToResolveRLPolicy | 500 | متغیر ارجاع شده توسط ویژگی ref در عنصر <Quota> قابل حل نیست. | build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.
نام خطا | علت | ثابت |
---|---|---|
InvalidCount | اگر مقدار شمارش مشخص شده در عنصر <Allow> سیاست Reset Quota یک عدد صحیح نباشد، استقرار پراکسی API با شکست مواجه میشود. | build |
خط مشی RaiseFault
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
کد خطا | وضعیت HTTP | علت |
---|---|---|
steps.raisefault.RaiseFault | 500 | رشته خطا را ببینید. |
خطاهای استقرار
هیچ کدام.
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که یک خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.
متغیرها | کجا | مثال |
---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | 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 برگردانده میشوند از یک قالب ثابت پیروی میکنند که در مرجع کد خطا توضیح داده شده است.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
کد خطا | پیام |
---|---|
اجرا ناموفق بود | اجرای RegularExpressionProtection StepDefinition {0} انجام نشد. دلیل: {1} |
Instantiation Failed | نمونه سازی RegularExpressionProtection StepDefinition {0} ناموفق بود |
NonMessageVariable | متغیر {0} به پیام تبدیل نمی شود |
SourceMessageNotAvailable | پیام {0} برای RegularExpressionProtection StepDefinition در دسترس نیست {1} |
تهدید شناسایی شده | تهدید عبارت منظم در {0} شناسایی شد: regex: {1} ورودی: {2} |
VariableResolution Failed | حل کردن متغیر {0} ناموفق بود |
خطاهای استقرار
کد خطا | پیام | ثابت |
---|---|---|
CannotBeConvertedToNodeset | RegularExpressionProtection {0}: نتیجه xpath {1} را نمی توان به nodeset تبدیل کرد. زمینه {2} | build |
DuplicatePrefix | RegularExpressionProtection {0}: پیشوند تکراری {1} | build |
EmptyJSONPathExpression | RegularExpressionProtection {0}: عبارت JSONPath خالی است | build |
EmptyXPathExpression | RegularExpressionProtection {0}: عبارت XPath خالی است | build |
InvalidRegularExpression | RegularExpressionProtection {0}: عبارت منظم نامعتبر {1}، متن {2} | build |
JSONPathCompilation ناموفق بود | RegularExpressionProtection {0}: jsonpath {1} کامپایل نشد. زمینه {2} | build |
NONEmptyPrefixMappedToEmptyURI | RegularExpressionProtection {0}: پیشوند غیر خالی {1} را نمی توان به uri خالی نگاشت | build |
NoPatternsToEnforce | RegularExpressionProtection {0}: هیچ الگوی برای اعمال در {1} وجود ندارد | build |
NothingToEnforce | RegularExpressionProtection {0}: حداقل یکی از URIPath، QueryParam، Header، FormParam، XMLPayload، JSONPayload اجباری است | build |
XPathCompilation Failed | RegularExpressionProtection {0}: xpath {1} کامپایل نشد. زمینه {2} | build |
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که این خط مشی خطایی را ایجاد کند. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.
متغیرها | جایی که | مثال |
---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول بالا آمده است. | fault.name Matches "ThreatDetected" |
regularexpressionprotection. policy_name .failed | policy_name نام سیاستی است که توسط کاربر مشخص شده است که خطا را ایجاد کرده است. | regularexpressionprotection.Regular-Expressions-Protection-1.failed = true |
خط مشی SOAPMessageValidation
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
کد خطا | وضعیت HTTP | علت | ثابت |
---|---|---|---|
steps.messagevalidation.SourceMessageNotAvailable | 500 | این خطا در صورتی رخ می دهد که متغیری که در عنصر
| build |
steps.messagevalidation.NonMessageVariable | 500 | اگر عنصر متغیرهای نوع پیام، کل درخواستها و پاسخهای HTTP را نشان میدهند. متغیرهای جریان لبه داخلی | build |
steps.messagevalidation.Failed | 500 | این خطا در صورتی رخ می دهد که خط مشی SOAPMessageValidation نتواند بار پیام ورودی را در برابر طرح XSD یا تعریف WSDL تأیید کند. همچنین اگر JSON یا XML نادرست در پیام بارگذاری وجود داشته باشد، رخ می دهد. | build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.
نام خطا | علت | ثابت |
---|---|---|
InvalidResourceType | عنصر <ResourceURL> در خط مشی SOAPMessageValidation روی یک نوع منبع تنظیم شده است که توسط این خط مشی پشتیبانی نمی شود. | build |
ResourceCompileFailed | اسکریپت منبع ارجاع شده در عنصر <ResourceURL> خط مشی SOAPMessageValidation حاوی خطایی است که از کامپایل آن جلوگیری می کند. | build |
RootElementNameUnspecified | عنصر <Element> در خط مشی SOAPMessageValidation حاوی نام عنصر ریشه نیست. | build |
InvalidRootElementName | عنصر <Element> در خط مشی SOAPMessageValidation حاوی یک نام عنصر ریشه است که برای نامگذاری عنصر معتبر به قوانین XML پایبند نیست. | build |
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
کد خطا | وضعیت HTTP | علت | ثابت |
---|---|---|---|
steps.messagevalidation.SourceMessageNotAvailable | 500 | این خطا در صورتی رخ می دهد که متغیری که در عنصر
| build |
steps.messagevalidation.NonMessageVariable | 500 | اگر عنصر متغیرهای نوع پیام، کل درخواستها و پاسخهای HTTP را نشان میدهند. متغیرهای جریان لبه داخلی | build |
steps.messagevalidation.Failed | 500 | این خطا در صورتی رخ می دهد که خط مشی SOAPMessageValidation نتواند بار پیام ورودی را در برابر طرح XSD یا تعریف WSDL تأیید کند. همچنین اگر JSON یا XML نادرست در پیام بارگذاری وجود داشته باشد، رخ می دهد. | build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.
نام خطا | علت | ثابت |
---|---|---|
InvalidResourceType | عنصر <ResourceURL> در خط مشی SOAPMessageValidation روی یک نوع منبع تنظیم شده است که توسط این خط مشی پشتیبانی نمی شود. | build |
ResourceCompileFailed | اسکریپت منبع ارجاع شده در عنصر <ResourceURL> خط مشی SOAPMessageValidation حاوی خطایی است که از کامپایل آن جلوگیری می کند. | build |
RootElementNameUnspecified | عنصر <Element> در خط مشی SOAPMessageValidation حاوی نام عنصر ریشه نیست. | build |
InvalidRootElementName | عنصر <Element> در خط مشی SOAPMessageValidation حاوی یک نام عنصر ریشه است که برای نامگذاری عنصر معتبر به قوانین XML پایبند نیست. | build |
سیاست اظهارنامه SAMLA
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.
نام خطا | علت | رفع کنید |
---|---|---|
SourceNotConfigured | یک یا چند عنصر زیر از خطمشی اعتبارسنجی SAML Assertion تعریف نشده یا خالی نیست: <Source> ، <XPath> ، <Namespaces> ، <Namespace> . | build |
TrustStoreNotConfigured | اگر عنصر <TrustStore> خالی باشد یا در خطمشی ValidateSAMLAssertion مشخص نشده باشد، استقرار پراکسی API با شکست مواجه میشود. یک فروشگاه معتبر معتبر مورد نیاز است. | build |
NullKeyStoreAlias | اگر عنصر فرزند <Alias> خالی باشد یا در عنصر <Keystore> خطمشی Generate SAML Assertion مشخص نشده باشد، در این صورت استقرار پراکسی API با شکست مواجه میشود. یک نام مستعار Keystore معتبر مورد نیاز است. | build |
NullKeyStore | اگر عنصر فرزند <Name> خالی باشد یا در عنصر <Keystore> خطمشی GenerateSAMLAssertion مشخص نشده باشد، در آن صورت استقرار پراکسی API با شکست مواجه میشود. یک نام Keystore معتبر مورد نیاز است. | build |
NullIssuer | اگر عنصر <Issuer> خالی باشد یا در خطمشی Generate SAML Assertion مشخص نشده باشد، استقرار پراکسی 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 | 500 | این خطا زمانی رخ می دهد که:
| build |
steps.servicecallout.RequestVariableNotMessageType | 500 | متغیر Request مشخص شده در خط مشی از نوع Message نیست. برای مثال، اگر رشته یا نوع دیگری غیر پیام باشد، این خطا را خواهید دید. | build |
steps.servicecallout.RequestVariableNotRequestMessageType | 500 | متغیر Request مشخص شده در خط مشی از نوع Request Message نیست. برای مثال، اگر از نوع Response باشد، این خطا را خواهید دید. | build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.
نام خطا | علت | رفع کنید |
---|---|---|
URLMissing | عنصر <URL> داخل <HTTPTargetConnection> وجود ندارد یا خالی است. | build |
ConnectionInfoMissing | اگر این خطمشی عنصر <HTTPTargetConnection> یا <LocalTargetConnection> نداشته باشد، این خطا رخ میدهد. | build |
InvalidTimeoutValue | اگر مقدار <Timeout> منفی یا صفر باشد این خطا رخ می دهد. | build |
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که یک خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.
متغیرها | کجا | مثال |
---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | fault.name = "RequestVariableNotMessageType" |
servicecallout. policy_name .failed | policy_name نام سیاستی است که توسط کاربر مشخص شده است که خطا را ایجاد کرده است. | servicecallout.SC-GetUserData.failed = true |
نمونه پاسخ خطا
{ "fault":{ "detail":{ "errorcode":"steps.servicecallout.RequestVariableNotMessageType" }, "faultstring":"ServiceCallout[ServiceCalloutGetMockResponse]: request variable data_str value is not of type Message" } }
مثال قانون خطا
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="RequestVariableNotMessageType"> <Step> <Name>AM-RequestVariableNotMessageType</Name> </Step> <Condition>(fault.name = "RequestVariableNotMessageType")</Condition> </FaultRule>
سیاست SpikeArrest
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
کد خطا | وضعیت HTTP | علت | رفع کنید |
---|---|---|---|
policies.ratelimit.FailedToResolveSpikeArrestRate | 500 | این خطا در صورتی رخ می دهد که ارجاع به متغیر حاوی تنظیم نرخ در عنصر <Rate> به مقداری در خط مشی Spike Arrest قابل حل نباشد. این عنصر اجباری است و برای تعیین نرخ توقف سنبله به صورت int pm یا int ps استفاده می شود. | build |
policies.ratelimit.InvalidMessageWeight | 500 | این خطا در صورتی رخ می دهد که مقدار تعیین شده برای عنصر <MessageWeight> از طریق متغیر جریان نامعتبر باشد (یک مقدار غیر صحیح). | build |
policies.ratelimit.SpikeArrestViolation | 429 | از حد مجاز فراتر رفت. |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.
نام خطا | علت | رفع کنید |
---|---|---|
InvalidAllowedRate | اگر نرخ توقف اسپک مشخص شده در عنصر <Rate> سیاست دستگیری Spike یک عدد صحیح نباشد یا اگر نرخ پسوند ps یا pm نداشته باشد، در آن صورت استقرار پراکسی API با شکست مواجه میشود. | build |
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که یک خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.
متغیرها | کجا | مثال |
---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | 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>
سیاست جمع آوری آمار
This section describes the error messages and flow variables that are set when this policy triggers an error. This information is important to know if you are developing fault rules for a proxy. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
None.
Deployment errors
Error name | Cause | Fix |
---|---|---|
UnsupportedDatatype |
If the type of the variable specified by the ref attribute in the <Statistic> element
of the Statistics Collector policy is unsupported, then the deployment of the API proxy
fails. The supported data types are string , integer ,
float , long , double , and boolean . |
build |
InvalidName |
If the name used to reference the data collected for the specified variable defined
within the <Statistic> element of the Statistics Collector policy conflicts with a
system-defined variable, then the deployment of the API proxy fails. Some of the known
system-defined variables are organization and environment . |
build |
DatatypeMissing |
If the type of the variable specified by the ref attribute in the <Statistic> element
of the Statistics Collector policy is missing, then the deployment of the API proxy fails. |
build |
Fault variables
None.
خط مشی VerifyAPIKey
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
Fault code | HTTP status | Cause |
---|---|---|
keymanagement.service.CompanyStatusNotActive |
401 | The Company associated with the Developer App that has the API key you are using has an inactive status. When a Company's status is set to inactive, you cannot access the developers or apps associated with that Company. An org admin can change a Company's status using the management API. See Set the Status of a Company. |
keymanagement.service.DeveloperStatusNotActive |
401 |
The developer who created the Developer App that has the API key you are using has an inactive status. When an App Developer's status is set to inactive, any Developer Apps created by that developer are deactivated. An admin user with appropriate permissions (such as Organization Administrator) can change a developer's status in the following ways:
|
keymanagement.service.invalid_client-app_not_approved |
401 | The Developer App associated with the API key is revoked. A revoked app cannot access any API products and cannot invoke any API managed by Apigee Edge. An org admin can change the status of a Developer App using the management API. See Approve or Revoke Developer App. |
oauth.v2.FailedToResolveAPIKey |
401 | The policy expects to find the API key in a variable that is specified in the policy's <APIKey> element. This error arises when the expected variable does not exist (it cannot be resolved). |
oauth.v2.InvalidApiKey |
401 | An API key was received by Edge, but it is invalid. When Edge looks up the key in its database, it must exactly match the on that was sent in the request. If the API worked previously, make sure the key was not regenerated. If the key was regenerated, you will see this error if you try to use the old key. For details, see Register apps and manage API keys. |
oauth.v2.InvalidApiKeyForGivenResource |
401 | An API key was received by Edge, and it is valid; however, it does not match an approved key in the Developer App associated with your API proxy through a Product. |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
Error name | Cause |
---|---|
SpecifyValueOrRefApiKey |
The <APIKey> element does not have a value or key specified. |
Fault variables
These variables are set when a runtime error occurs. For more information, see What you need to know about policy errors.
Variables | Where | Example |
---|---|---|
fault.name="fault_name" |
fault_name is the name of the fault, as listed in the Runtime errors table above. The fault name is the last part of the fault code. | fault.name Matches "FailedToResolveAPIKey" |
oauthV2.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | oauthV2.VK-VerifyAPIKey.failed = true |
Example error responses
{ "fault":{ "faultstring":"Invalid ApiKey", "detail":{ "errorcode":"oauth.v2.InvalidApiKey" } } }
{ "fault":{ "detail":{ "errorcode":"keymanagement.service.DeveloperStatusNotActive" }, "faultstring":"Developer Status is not Active" } }
Example fault rule
<FaultRule name="FailedToResolveAPIKey"> <Step> <Name>AM-FailedToResolveAPIKey</Name> </Step> <Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition> </FaultRule>
بررسی سیاست JWS
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
کد خطا | وضعیت HTTP | زمانی رخ می دهد |
---|---|---|
steps.jws.AlgorithmInTokenNotPresentInConfiguration | 401 | زمانی رخ می دهد که خط مشی تأیید چندین الگوریتم داشته باشد |
steps.jws.AlgorithmMismatch | 401 | الگوریتم مشخص شده در سربرگ توسط خط مشی Generate با الگوریتم مورد انتظار در خط مشی تأیید مطابقت نداشت. الگوریتم های مشخص شده باید مطابقت داشته باشند. |
steps.jws.ContentIsNotDetached | 401 | <DetachedContent> زمانی مشخص می شود که JWS حاوی محتویات جدا شده نباشد. |
steps.jws.FailedToDecode | 401 | این خط مشی قادر به رمزگشایی JWS نبود. JWS احتمالاً خراب است. |
steps.jws.InsufficientKeyLength | 401 | برای یک کلید کمتر از 32 بایت برای الگوریتم 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 | سرصفحه ای که توسط خط مشی Verify JWS در هدر crit یافت می شود در KnownHeaders فهرست نشده است. |
steps.jws.UnknownException | 401 | یک استثنا ناشناخته رخ داد. |
steps.jws.WrongKeyType | 401 | نوع کلید اشتباه مشخص شده است. به عنوان مثال، اگر یک کلید RSA برای یک الگوریتم منحنی بیضی یا یک کلید منحنی برای یک الگوریتم RSA مشخص کنید. |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.
نام خطا | زمانی رخ می دهد |
---|---|
InvalidAlgorithm | تنها مقادیر معتبر عبارتند از: RS256، RS384، RS512، PS256، PS384، PS512، ES256، ES384، ES512، HS256، HS384، HS512. |
| سایر خطاهای احتمالی استقرار |
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که یک خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.
متغیرها | کجا | مثال |
---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای 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>
بررسی سیاست JWT
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
کد خطا | وضعیت HTTP | زمانی رخ می دهد |
---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration | 401 | زمانی رخ می دهد که خط مشی تأیید چندین الگوریتم داشته باشد. |
steps.jwt.AlgorithmMismatch | 401 | الگوریتم مشخصشده در خطمشی Generate با الگوریتم مورد انتظار در خطمشی تأیید مطابقت نداشت. الگوریتم های مشخص شده باید مطابقت داشته باشند. |
steps.jwt.FailedToDecode | 401 | این خط مشی قادر به رمزگشایی JWT نبود. JWT احتمالاً خراب است. |
steps.jwt.GenerationFailed | 401 | این سیاست قادر به ایجاد JWT نبود. |
steps.jwt.InsufficientKeyLength | 401 | برای یک کلید کمتر از 32 بایت برای الگوریتم HS256، کمتر از 48 بایت برای الگوریتم HS386، و کمتر از 64 بایت برای الگوریتم HS512. |
steps.jwt.InvalidClaim | 401 | برای ادعای مفقود یا عدم تطابق ادعا، یا عدم تطابق سرصفحه یا سرصفحه. |
steps.jwt.InvalidCurve | 401 | منحنی مشخص شده توسط کلید برای الگوریتم منحنی بیضی معتبر نیست. |
steps.jwt.InvalidJsonFormat | 401 | JSON نامعتبر در هدر یا محموله یافت شد. |
steps.jwt.InvalidToken | 401 | این خطا زمانی رخ می دهد که تأیید امضای JWT ناموفق باشد. |
steps.jwt.JwtAudienceMismatch | 401 | ادعای مخاطب در راستیآزمایی رمز شکست خورد. |
steps.jwt.JwtIssuerMismatch | 401 | ادعای صادرکننده در تأیید توکن ناموفق بود. |
steps.jwt.JwtSubjectMismatch | 401 | ادعای موضوع در تأیید رمز شکست خورد. |
steps.jwt.KeyIdMissing | 401 | خطمشی تأیید از یک JWKS به عنوان منبع کلیدهای عمومی استفاده میکند، اما JWT امضاشده دارای ویژگی kid در سرصفحه نیست. |
steps.jwt.KeyParsingFailed | 401 | کلید عمومی از اطلاعات کلید داده شده قابل تجزیه نیست. |
steps.jwt.NoAlgorithmFoundInHeader | 401 | زمانی اتفاق میافتد که JWT فاقد سربرگ الگوریتم باشد. |
steps.jwt.NoMatchingPublicKey | 401 | خطمشی تأیید از یک JWKS به عنوان منبع کلیدهای عمومی استفاده میکند، اما kid در JWT امضا شده در JWKS فهرست نشده است. |
steps.jwt.SigningFailed | 401 | در GenerateJWT، برای کلیدی کمتر از حداقل اندازه الگوریتمهای HS384 یا HS512 |
steps.jwt.TokenExpired | 401 | این خطمشی تلاش میکند تا یک توکن منقضی شده را تأیید کند. |
steps.jwt.TokenNotYetValid | 401 | رمز هنوز معتبر نیست. |
steps.jwt.UnhandledCriticalHeader | 401 | سرصفحه ای که توسط خط مشی Verify JWT در سرصفحه crit یافت شده است در KnownHeaders فهرست نشده است. |
steps.jwt.UnknownException | 401 | یک استثنا ناشناخته رخ داد. |
steps.jwt.WrongKeyType | 401 | نوع کلید اشتباه مشخص شده است. به عنوان مثال، اگر یک کلید RSA برای یک الگوریتم منحنی بیضی یا یک کلید منحنی برای یک الگوریتم RSA مشخص کنید. |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.
نام خطا | علت | ثابت |
---|---|---|
InvalidNameForAdditionalClaim | اگر ادعای مورد استفاده در عنصر فرزند <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> از خط مشی Verify JWT خالی باشد. در صورت وجود، باید با نام متغیر Edge flow تعریف شود. | 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 | 500 | خط مشی XMLThreatProtection می تواند انواع مختلفی از خطاهای ExecutionFailed را ایجاد کند. بیشتر این خطاها زمانی رخ میدهند که از یک آستانه مشخص در خطمشی تجاوز کند. این نوع خطاها عبارتند از: طول نام عنصر ، تعداد فرزند ، عمق گره ، تعداد ویژگی ، طول نام ویژگی و بسیاری دیگر. می توانید لیست کامل را در مبحث عیب یابی خطای زمان اجرا خط مشی XMLThreatProtection مشاهده کنید. | build |
steps.xmlthreatprotection.InvalidXMLPayload | 500 | اگر بار پیام ورودی مشخص شده توسط عنصر <Source> خط مشی XMLThreatProtection یک سند XML معتبر نباشد، این خطا رخ می دهد. | build |
steps.xmlthreatprotection.SourceUnavailable | 500 | این خطا در صورتی رخ می دهد که متغیر پیام مشخص شده در عنصر <Source> یکی از این موارد باشد:
| build |
steps.xmlthreatprotection.NonMessageVariable | 500 | این خطا در صورتی رخ می دهد که عنصر <Source> روی متغیری تنظیم شود که از نوع پیام نیست. | build |
یادداشت ها:
- نام خطا ExecutionFailed نام خطای پیشفرض است و صرفنظر از نوع خطای شناساییشده، برگردانده میشود. با این حال، این پیش فرض را می توان با تنظیم یک ویژگی در سطح سازمان تغییر داد. هنگامی که این ویژگی تنظیم شود، نام خطا نشان دهنده خطای واقعی است. به عنوان مثال، "TextExceeded" یا "AttrValueExceeded". برای جزئیات به یادداشت های استفاده مراجعه کنید.
- وضعیت 500 HTTP پیش فرض است. با این حال، وضعیت HTTP را می توان برای خطاهای جریان درخواست با تنظیم یک ویژگی در سطح سازمان به 400 تغییر داد. برای جزئیات به یادداشت های استفاده مراجعه کنید.
خطاهای استقرار
هیچ کدام.
متغیرهای خطا
این متغیرها زمانی تنظیم می شوند که یک خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.
متغیرها | کجا | مثال |
---|---|---|
fault.name=" fault_name " | fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | fault.name Matches "SourceUnavailable" |
xmlattack. policy_name .failed | policy_name نام سیاستی است که توسط کاربر مشخص شده است که خطا را ایجاد کرده است. | xmlattack.XPT-SecureRequest.failed = true |
نمونه پاسخ خطا
{ "fault": { "faultstring": "XMLThreatProtection[XPT-SecureRequest]: Execution failed. reason: XMLThreatProtection[XTP-SecureRequest]: Exceeded object entry name length at line 2", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
مثال قانون خطا
<FaultRule name="XML Threat Protection Policy Faults"> <Step> <Name>AM-CustomErrorResponse</Name> <Condition>(fault.name Matches "ExecutionFailed") </Condition> </Step> <Condition>(xmlattack.XPT-SecureRequest.failed = true) </Condition> </FaultRule>
خط مشی XMLtoJSON
این بخش کدهای خطا و پیامهای خطایی را که برگردانده میشوند و متغیرهای خطا را که توسط Edge تنظیم میشوند، هنگامی که این خطمشی خطا را راهاندازی میکند، توضیح میدهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
کد خطا | وضعیت HTTP | علت | رفع کنید |
---|---|---|---|
steps.xmltojson.ExecutionFailed | 500 | این خطا زمانی رخ می دهد که بار ورودی (XML) خالی باشد یا XML ورودی نامعتبر یا بد شکل باشد. | build |
steps.xmltojson.InCompatibleType | 500 | این خطا در صورتی رخ می دهد که نوع متغیر تعریف شده در عنصر <Source> و عنصر <OutputVariable> یکسان نباشد. اجباری است که نوع متغیرهای موجود در عنصر <Source> و عنصر <OutputVariable> مطابقت داشته باشد. | build |
steps.xmltojson.InvalidSourceType | 500 | این خطا در صورتی رخ می دهد که نوع متغیر مورد استفاده برای تعریف عنصر <Source> نامعتبر باشد. انواع معتبر متغیر پیام و رشته هستند. | build |
steps.xmltojson.OutputVariableIsNotAvailable | 500 | اگر متغیر مشخص شده در عنصر <Source> خط مشی XML به JSON از نوع string باشد و عنصر <OutputVariable> تعریف نشده باشد، این خطا رخ می دهد. عنصر <OutputVariable> زمانی اجباری است که متغیر تعریف شده در عنصر <Source> از نوع رشته باشد. | build |
steps.xmltojson.SourceUnavailable | 500 | این خطا در صورتی رخ می دهد که متغیر پیام مشخص شده در عنصر <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 نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. | fault.name = "SourceUnavailable" |
xmltojson. policy_name .failed | policy_name نام سیاستی است که توسط کاربر مشخص شده است که خطا را ایجاد کرده است. | xmltojson.XMLtoJSON-1.failed = true |
نمونه پاسخ خطا
{ "fault": { "faultstring": "XMLToJSON[XMLtoJSON-1]: Source xyz is not available", "detail": { "errorcode": "steps.xml2json.SourceUnavailable" } } }
مثال قانون خطا
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="XML to JSON Faults"> <Step> <Name>AM-SourceUnavailableMessage</Name> <Condition>(fault.name Matches "SourceUnavailable") </Condition> </Step> <Step> <Name>AM-BadXML</Name> <Condition>(fault.name = "ExecutionFailed")</Condition> </Step> <Condition>(xmltojson.XMLtoJSON-1.failed = true) </Condition> </FaultRule>
خط مشی XSLTransform
خطاهای زمان اجرا
این خطاها ممکن است هنگام اجرای سیاست رخ دهند.
کد خطا | وضعیت HTTP | علت | ثابت |
---|---|---|---|
steps.xsl.XSLSourceMessageNotAvailable | 500 | این خطا در صورتی رخ می دهد که پیام یا متغیر رشته مشخص شده در عنصر <Source> خط مشی XSL Transform یا خارج از محدوده باشد (در جریان خاصی که خط مشی اجرا می شود موجود نیست) یا قابل حل نباشد (تعریف نشده باشد). ). | build |
steps.xsl.XSLEvaluationFailed | 500 | اگر بار ورودی XML در دسترس نباشد/بد شکل باشد یا خط مشی XSLTransform شکست بخورد/نتواند فایل XML ورودی را بر اساس قوانین تبدیل ارائه شده در فایل XSL تبدیل کند، این خطا رخ می دهد. ممکن است دلایل مختلفی برای شکست خط مشی XSLTransform وجود داشته باشد. دلیل عدم موفقیت در پیام خطا اطلاعات بیشتری در مورد علت ارائه می دهد. | build |
خطاهای استقرار
این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.
نام خطا | علت | ثابت |
---|---|---|
XSLEmptyResourceUrl | اگر عنصر <ResourceURL> در خطمشی XSL Transform خالی باشد، استقرار پراکسی API با شکست مواجه میشود. | build |
XSLInvalidResourceType | اگر نوع منبع مشخص شده در عنصر <ResourceURL> خط مشی XSL Transform از نوع xsl نباشد، استقرار پراکسی API با شکست مواجه می شود. | build |