مرجع خطای خط‌مشی

درحال مشاهده اسناد Apigee Edge هستید.
به اسناد Apigee X بروید.
اطلاعات

خط‌مشی AccessControl

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه می‌دهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP علت رفع اشکال
accesscontrol.IPDeniedAccess 403 نشانی IP کارخواه، یا نشانی IP که در درخواست API ارسال شده است، با نشانی IP مشخص‌شده در عنصر <SourceAddress> در عنصر <MatchRule> «خط‌مشی کنترل دسترسی» مطابقت داشته باشد، و مشخصه action عنصر <MatchRule> روی DENY تنظیم شده باشد.

متغیرهای خطا

این متغیرها زمانی تنظیم می‌شوند که خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، متغیرهای خاص خطاهای خط‌مشی را ببینید.

متغیر مکان مثال
fault.name="fault_name" ‫fault_name نام خطا است، همان‌طور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. fault.name Matches "IPDeniedAccess"
acl.policy_name.failed ‫policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. acl.AC-AllowAccess.failed = true

نمونه پاسخ خطا

{
   "fault":{
     "faultstring":"Access Denied for client ip : 52.211.243.3"
      "detail":{
         "errorcode":"accesscontrol.IPDeniedAccess"
      }
   }
}

قانون خطای نمونه

<FaultRule name="IPDeniedAccess">
    <Step>
        <Name>AM-IPDeniedAccess</Name>
        <Condition>(fault.name Matches "IPDeniedAccess") </Condition>
    </Step>
    <Condition>(acl.failed = true) </Condition>
</FaultRule>

خط‌مشی AccessEntity

برای اطلاعات مرتبط، به آنچه باید در مورد خطاهای خط مشی و خطاهای مدیریتی بدانید مراجعه کنید.

خطاهای زمان اجرا

هیچ یک.

خطاهای استقرار

نام خطا رشته خطا وضعیت HTTP زمانی رخ می دهد
InvalidEntityType Invalid type [entity_type] in ACCESSENTITYStepDefinition [policy_name] N/A نوع موجودیت مورد استفاده باید یکی از انواع پشتیبانی شده باشد.

خط‌مشی AssignMessage

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه می‌دهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP علت رفع اشکال
steps.assignmessage.SetVariableFailed ۵۰۰ خط‌مشی نتوانست متغیری را تنظیم کند. رشته خطا را برای نام متغیر حل‌نشده ببینید.
steps.assignmessage.VariableOfNonMsgType ۵۰۰

اگر مشخصه source در عنصر <Copy> روی متغیری تنظیم شده باشد که از نوع پیام نباشد، این خطا رخ می‌دهد.

متغیرهای نوع پیام نشان‌دهنده کل درخواست‌ها و پاسخ‌های HTTP هستند. متغیرهای جریان داخلی Edge request، response، و message از نوع پیام هستند. برای کسب اطلاعات بیشتر درباره متغیرهای پیام، مرجع متغیرها را ببینید.

steps.assignmessage.UnresolvedVariable ۵۰۰

این خطا زمانی رخ می‌دهد که متغیری که در خط‌مشی «اختصاص پیام» مشخص شده است یکی از این دو حالت را داشته باشد:

  • خارج از محدوده (در جریان خاصی که خط‌مشی در آن اجرا می‌شود دردسترس نیست)
  • یا
  • قابل‌حل نیست (تعریف نشده است)

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خط‌مشی را مستقر می‌کنید.

نام خطا علت رفع اشکال
InvalidIndex اگر شاخص مشخص‌شده در عناصر <Copy> و/یا <Remove> خط‌مشی «تخصیص پیام» صفر یا عددی منفی باشد، استقرار «پراکسی API» ناموفق خواهد بود.
InvalidVariableName اگر عنصر فرزند <Name> خالی باشد یا در عنصر <AssignVariable> مشخص نشده باشد، استقرار پراکسی API ناموفق خواهد بود زیرا نام متغیر معتبری وجود ندارد که مقدار به آن اختصاص داده شود. نام متغیر معتبری لازم است.
InvalidPayload بار مشخص‌شده در خط‌مشی نامعتبر است.

متغیرهای خطا

این متغیرها زمانی تنظیم می‌شوند که این خط‌مشی در زمان اجرا باعث بروز خطا شود. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانید را ببینید.

متغیر مکان مثال
fault.name="fault_name" ‫fault_name نام خطا است، همان‌طور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. fault.name Matches "UnresolvedVariable"
assignmessage.policy_name.failed ‫policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. assignmessage.AM-SetResponse.failed = true

نمونه پاسخ خطا

{  
   "fault":{  
      "detail":{  
         "errorcode":"steps.assignmessage.VariableOfNonMsgType"
      },
      "faultstring":"AssignMessage[AM-SetResponse]: value of variable is not of type Message"
   }
}

قانون خطای نمونه

    <FaultRule name="Assign Message Faults">    <Step>
        <Name>AM-CustomNonMessageTypeErrorResponse</Name>
        <Condition>(fault.name Matches "VariableOfNonMsgType") </Condition>
    </Step>
    <Step>
        <Name>AM-CustomSetVariableErrorResponse</Name>
        <Condition>(fault.name = "SetVariableFailed")</Condition>
    </Step>
    <Condition>(assignmessage.failed = true) </Condition>
</FaultRule>

خط‌مشی BasicAuthentication

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای زمانی که درحال توسعه قوانین خطا برای مدیریت خطاها هستید مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP علت رفع اشکال
steps.basicauthentication.InvalidBasicAuthenticationSource ۵۰۰ در رمزگشایی، زمانی‌که رشته کدبندی‌شده Base64 ورودی مقدار معتبری نداشته باشد یا سرایند بدساخته باشد (برای نمونه، با «Basic» شروع نشود).
steps.basicauthentication.UnresolvedVariable ۵۰۰ متغیرهای منبع موردنیاز برای رمزگشایی یا کدبندی وجود ندارد. این خطا فقط درصورتی رخ می‌دهد که IgnoreUnresolvedVariables نادرست باشد.

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خط‌مشی را مستقر می‌کنید.

نام خطا وقتی رخ می‌دهد رفع اشکال
UserNameRequired عنصر <User> باید برای عملیات نام‌گذاری‌شده وجود داشته باشد.
PasswordRequired عنصر <Password> باید برای عملیات نام‌گذاری‌شده وجود داشته باشد.
AssignToRequired عنصر <AssignTo> باید برای عملیات نام‌گذاری‌شده وجود داشته باشد.
SourceRequired عنصر <Source> باید برای عملیات نام‌گذاری‌شده وجود داشته باشد.

متغیرهای خطا

این متغیرها زمانی تنظیم می‌شوند که خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدرا ببینید.

متغیر مکان مثال
fault.name="fault_name" ‫fault_name نام خطا است، همان‌طور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. fault.name Matches "UnresolvedVariable"
BasicAuthentication.policy_name.failed ‫policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. BasicAuthentication.BA-Authenticate.failed = true

نمونه پاسخ خطا

{  
   "fault":{  
      "detail":{  
         "errorcode":"steps.basicauthentication.UnresolvedVariable"
      },
      "faultstring":"Unresolved variable : request.queryparam.password"
   }
}

قانون خطای نمونه

<FaultRule name="Basic Authentication Faults">
    <Step>
        <Name>AM-UnresolvedVariable</Name>
        <Condition>(fault.name Matches "UnresolvedVariable") </Condition>
    </Step>
    <Step>
        <Name>AM-AuthFailedResponse</Name>
        <Condition>(fault.name = "InvalidBasicAuthenticationSource")</Condition>
    </Step>
    <Condition>(BasicAuthentication.BA-Authentication.failed = true) </Condition>
</FaultRule>

خط‌مشی ConcurrentRateLimit

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای زمانی که درحال توسعه قوانین خطا برای مدیریت خطاها هستید مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP وقتی رخ می‌دهد
policies.concurrentratelimit.ConcurrentRatelimtViolation ۵۰۳

اتصال «محدودیت نرخ هم‌زمان» ازحد مجاز فراتر رفت. محدودیت اتصال : {0}

توجه: کد «خطا» نشان‌داده‌شده در سمت راست صحیح است، اگرچه املای آن اشتباه است («limt»). هنگام ایجاد قوانین خطا برای به‌دام انداختن این خطا، حتماً از کد دقیقاً همان‌طور که در اینجا نشان داده شده است استفاده کنید.

خطاهای استقرار

نام خطا وقتی رخ می‌دهد
InvalidCountValue مقدار تعداد نامعتبری برای ConcurrentRatelimit مشخص شده است.
ConcurrentRatelimitStepAttachment\
NotAllowedAtProxyEndpoint
خط‌مشی محدودیت نرخ هم‌زمان {0} پیوست در مسیرهای درخواست/پاسخ/خطا در پراکسی مجاز نیست. این خط‌مشی باید در «نقطه پایانی هدف» قرار داده شود.
ConcurrentRatelimitStepAttachment\
MissingAtTargetEndpoint
خط‌مشی نرخ محدود هم‌زمان {0} پیوست در مسیرهای درخواست/پاسخ/خطا هدف وجود ندارد. این خط‌مشی باید در «جریان پیش‌از درخواست هدف»، «جریان پس‌از پاسخ هدف»، و «قانون خطای پیش‌فرض» قرار گیرد.
InvalidTTLForMessageTimeOut مقدار ttl نامعتبر برای مهلت زمانی پیام ConcurrentRatelimit مشخص شده است. باید عدد صحیح مثبت باشد.

متغیرهای خطا

این متغیرها زمانی تنظیم می‌شوند که این خط‌مشی باعث ایجاد خطا شود. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدرا ببینید.

متغیر مکان مثال
fault.name="fault_name" ‫fault_name نام خطا است، همان‌طور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. fault.name Matches "ConcurrentRatelimtViolation"

توجه: «کد خطا» نشان‌داده‌شده در مثال درست است، اگرچه غلط املایی دارد («limt»). لطفاً هنگام ایجاد قوانین خطا برای به‌دام انداختن این خطا، حتماً از کد دقیقاً همان‌طور که در اینجا نشان داده شده است استفاده کنید.

concurrentratelimit.policy_name.failed ‫policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. concurrentratelimit.CRL-RateLimitPolicy.failed = true

نمونه پاسخ خطا

اگر از حد مجاز نرخ فراتر رود، خط‌مشی فقط وضعیت HTTP 503 را به مشتری برمی‌گرداند.

قانون خطای نمونه

<faultrule name="VariableOfNonMsgType"></faultrule><FaultRules>
    <FaultRule name="Quota Errors">
        <Step>
            <Name>JavaScript-1</Name>
            <Condition>(fault.name Matches "ConcurrentRatelimtViolation") </Condition>
        </Step>
        <Condition>concurrentratelimit.CRL-RateLimitPolicy.failed=true</Condition>
    </FaultRule>
</FaultRules>

خط‌مشی DecodeJWS

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه می‌دهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP وقتی رخ می‌دهد
steps.jws.FailedToDecode 401 خط‌مشی نتوانست JWS را رمزگشایی کند. ‫JWS احتمالاً خراب است.
steps.jws.FailedToResolveVariable 401 زمانی رخ می‌دهد که متغیر جاری مشخص‌شده در عنصر <Source> خط‌مشی وجود نداشته باشد.
steps.jws.InvalidClaim 401 برای ادعای مالکیت گم‌شده یا عدم تطابق ادعای مالکیت، یا سرایند گم‌شده یا عدم تطابق سرایند.
steps.jws.InvalidJsonFormat 401 ‫JSON نامعتبر در سرایند JWS پیدا شد.
steps.jws.InvalidJws 401 این خطا زمانی رخ می‌دهد که درستی‌سنجی امضای JWS ناموفق باشد.
steps.jws.InvalidPayload 401 بار JWS نامعتبر است.
steps.jws.InvalidSignature 401 <DetachedContent> حذف شده است و JWS دارای پایه‌بار محتوای جداشده است.
steps.jws.MissingPayload 401 بار JWS وجود ندارد.
steps.jws.NoAlgorithmFoundInHeader 401 وقتی JWS سرایند الگوریتم را حذف می‌کند رخ می‌دهد.
steps.jws.UnknownException 401 استثنای ناشناخته‌ای روی داد.

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خط‌مشی را مستقر می‌کنید.

نام خطا وقتی رخ می‌دهد
InvalidAlgorithm تنها مقادیر معتبر عبارت‌اند از: RS256،‏ RS384،‏ RS512،‏ PS256،‏ PS384،‏ PS512،‏ ES256،‏ ES384،‏ ES512، HS256،‏ HS384،‏ HS512.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

سایر خطاهای احتمالی استقرار.

متغیرهای خطا

این متغیرها زمانی تنظیم می شوند که یک خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.

متغیرها کجا مثال
fault.name=" fault_name " fault_name نام خطا است، همانطور که در جدول خطاهای 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 ممکن است ساختار نادرست، نامعتبر، یا به‌صورت دیگری غیرقابل رمزگشایی باشد.
steps.jwt.FailedToResolveVariable 401 زمانی رخ می‌دهد که متغیر جاری مشخص‌شده در عنصر <Source> خط‌مشی وجود نداشته باشد.
steps.jwt.InvalidToken 401 زمانی رخ می‌دهد که متغیر جاری مشخص‌شده در عنصر <Source> خط‌مشی خارج از محدوده باشد یا قابل‌حل نباشد.

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خط‌مشی را مستقر می‌کنید.

نام خطا علت رفع اشکال
InvalidEmptyElement زمانی رخ می‌دهد که متغیر جاری‌سازی حاوی JWT برای رمزگشایی در عنصر <Source> خط‌مشی مشخص نشده باشد.

متغیرهای خطا

این متغیرها زمانی تنظیم می شوند که یک خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.

متغیرها کجا مثال
fault.name=" fault_name " fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. fault.name Matches "TokenExpired"
JWT.failed همه خط مشی های JWT متغیرهای یکسانی را در صورت خرابی تنظیم می کنند. JWT.failed = true

نمونه پاسخ خطا

کدهای خطای خط مشی JWT

برای رسیدگی به خطا، بهترین روش به دام انداختن قسمت errorcode در پاسخ به خطا است. به متن موجود در faultstring تکیه نکنید، زیرا ممکن است تغییر کند.

مثال قانون خطا

    <FaultRules>
        <FaultRule name="JWT Policy Errors">
            <Step>
                <Name>JavaScript-1</Name>
                <Condition>(fault.name Matches "TokenExpired")</Condition>
            </Step>
            <Condition>JWT.failed=true</Condition>
        </FaultRule>
    </FaultRules>
    

خط‌مشی ExtractVariables

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه می‌دهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP علت رفع اشکال
steps.extractvariables.ExecutionFailed ۵۰۰

این خطا زمانی رخ می‌دهد که:

  • پایه‌بار ورودی (JSON،‏ XML) خالی است.
  • ورودی (JSON،‏ XML، و غیره) ارسال‌شده به خط‌مشی نامعتبر یا ناقص است.
steps.extractvariables.ImmutableVariable ۵۰۰ متغیری که در خط‌مشی استفاده شده است تغییرناپذیر است. خط‌مشی نتوانست این متغیر را تنظیم کند.
steps.extractvariables.InvalidJSONPath ۵۰۰ این خطا زمانی رخ می‌دهد که مسیر JSON نامعتبر در عنصر JSONPath خط‌مشی استفاده شود. برای مثال، اگر بار JSON شیء Name را نداشته باشد، اما Name را به‌عنوان مسیر در خط‌مشی مشخص کنید، این خطا رخ می‌دهد.
steps.extractvariables.JsonPathParsingFailure ۵۰۰ این خطا زمانی رخ می‌دهد که خط‌مشی نتواند مسیر JSON را تجزیه کند و داده‌ها را از متغیر جاری مشخص‌شده در عنصر Source استخراج کند. معمولاً این اتفاق زمانی می‌افتد که متغیر جاری‌سازی مشخص‌شده در عنصر Source در جاری‌سازی کنونی وجود نداشته باشد.
steps.extractvariables.SetVariableFailed ۵۰۰ این خطا زمانی رخ می‌دهد که خط‌مشی نتواند مقدار را روی متغیر تنظیم کند. این خطا معمولاً زمانی رخ می‌دهد که سعی می‌کنید مقادیر را به چندین متغیر اختصاص دهید که نام آن‌ها با کلمات یکسان در قالب نقطه‌ای تو در تو شروع می‌شود.
steps.extractvariables.SourceMessageNotAvailable ۵۰۰ این خطا زمانی رخ می‌دهد که متغیر پیام مشخص‌شده در عنصر Source خط‌مشی یا:
  • خارج از محدوده (در جریان خاصی که خط‌مشی در آن اجرا می‌شود دردسترس نیست) یا
  • حل‌وفصل نشد (تعریف نشده است)
steps.extractvariables.UnableToCast ۵۰۰ اگر خط‌مشی نتواند مقدار استخراج‌شده را به متغیری تبدیل کند، این خطا رخ می‌دهد. معمولاً این اتفاق زمانی می‌افتد که سعی کنید مقدار یک نوع داده را روی متغیری از نوع داده دیگر تنظیم کنید.

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خط‌مشی را مستقر می‌کنید.

نام خطا علت رفع اشکال
NothingToExtract اگر خط‌مشی هیچ‌یک از عناصر URIPath، QueryParam، Header، FormParam، XMLPayload، یا JSONPayload را نداشته باشد، استقرار «پراکسی میانای برنامه‌سازی کاربردی» ناموفق خواهد بود، زیرا چیزی برای استخراج وجود ندارد.
NONEmptyPrefixMappedToEmptyURI این خطا زمانی رخ می‌دهد که خط‌مشی پیشوندی داشته باشد که در عنصر Namespace تحت عنصر XMLPayload تعریف شده است، اما هیچ نشانی وب یکنواختی تعریف نشده باشد.
DuplicatePrefix این خطا زمانی رخ می‌دهد که پیشوند یکسانی در خط‌مشی بیش‌از یک‌بار در عنصر Namespace تحت عنصر XMLPayload تعریف شده باشد.
NoXPathsToEvaluate اگر خط‌مشی عنصر XPath را در عنصر XMLPayload نداشته باشد، استقرار پراکسی API با این خطا ناموفق خواهد بود.
EmptyXPathExpression اگر خط‌مشی دارای عبارت XPath خالی در عنصر XMLPayload باشد، استقرار پراکسی API ناموفق خواهد بود.
NoJSONPathsToEvaluate اگر خط‌مشی عنصر JSONPath را در عنصر JSONPayload نداشته باشد، استقرار پراکسی API با این خطا ناموفق خواهد بود.
EmptyJSONPathExpression اگر خط‌مشی دارای عبارت XPath خالی در عنصر XMLPayload باشد، استقرار پراکسی API ناموفق خواهد بود.
MissingName اگر خط‌مشی در هیچ‌یک از عناصر خط‌مشی مثل QueryParam، Header، FormParam، یا Variable ویژگی name را نداشته باشد، درحالی‌که این ویژگی الزامی است، استقرار پراکسی API ناموفق خواهد بود.
PatternWithoutVariable اگر خط‌مشی متغیری را در عنصر Pattern مشخص نکرده باشد، استقرار پراکسی API ناموفق خواهد بود. عنصر Pattern به نام متغیری نیاز دارد که داده‌های استخراج‌شده در آن ذخیره خواهد شد.
CannotBeConvertedToNodeset اگر خط‌مشی دارای عبارت XPath باشد که در آن نوع Variable به‌صورت nodeset تعریف شده باشد، اما عبارت نتواند به nodeset تبدیل شود، استقرار پراکسی API ناموفق خواهد بود.
JSONPathCompilationFailed خط‌مشی نتوانست «مسیر JSON» مشخص‌شده را تدوین کند.
InstantiationFailed خط‌مشی نمونه‌سازی نشد.
XPathCompilationFailed اگر پیشوند یا مقدار استفاده‌شده در عنصر XPath بخشی از هیچ‌یک از فضاهای نام اعلام‌شده در خط‌مشی نباشد، استقرار پراکسی API ناموفق خواهد بود.
InvalidPattern اگر تعریف عنصر Pattern در هریک از عناصر مثل URIPath، QueryParam، Header، FormParam، XMLPayload یا JSONPayload در خط‌مشی نامعتبر باشد، استقرار کارگزار میانه‌ای API ناموفق خواهد بود.

متغیرهای خطا

این متغیرها زمانی تنظیم می‌شوند که این خط‌مشی در زمان اجرا باعث بروز خطا شود. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانید را ببینید.

متغیر مکان مثال
fault.name="fault_name" ‫fault_name نام خطا است، همان‌طور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. fault.name = "SourceMessageNotAvailable"
extractvariables.policy_name.failed ‫policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. extractvariables.EV-ParseJsonResponse.failed = true

نمونه پاسخ خطا

{
   "fault":{
      "detail":{
         "errorcode":"steps.extractvariables.SourceMessageNotAvailable"
      },
      "faultstring":"request message is not available for ExtractVariable: EV-ParseJsonResponse"
   }
}

قانون خطای نمونه

<FaultRule name="Extract Variable Faults">
    <Step>
        <Name>AM-CustomErrorMessage</Name>
        <Condition>(fault.name = "SourceMessageNotAvailable") </Condition>
    </Step>
    <Condition>(extractvariables.EM-ParseJsonResponse.failed = true) </Condition>
</FaultRule>

خط‌مشی GenerateJWS

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای زمانی که درحال توسعه قوانین خطا برای مدیریت خطاها هستید مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانید و رسیدگی به خطاها را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP وقتی رخ می‌دهد
steps.jws.GenerationFailed 401 خط‌مشی نتوانست JWS را تولید کند.
steps.jws.InsufficientKeyLength 401 برای کلید کمتر از ۳۲ بایت برای الگوریتم HS256
steps.jws.InvalidClaim 401 برای ادعای مالکیت گم‌شده یا عدم تطابق ادعای مالکیت، یا سرایند گم‌شده یا عدم تطابق سرایند.
steps.jws.InvalidCurve 401 منحنی مشخص‌شده توسط کلید برای الگوریتم «منحنی بیضوی» معتبر نیست.
steps.jws.InvalidJsonFormat 401 ‫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.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

سایر خطاهای احتمالی استقرار.

متغیرهای خطا

این متغیرها زمانی تنظیم می شوند که یک خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.

متغیرها کجا مثال
fault.name=" fault_name " fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. fault.name Matches "TokenExpired"
JWS.failed همه خط مشی های JWS در صورت خرابی یک متغیر را تنظیم می کنند. jws.JWS-Policy.failed = true

نمونه پاسخ خطا

برای رسیدگی به خطا، بهترین روش به دام انداختن قسمت errorcode در پاسخ به خطا است. به متن موجود در faultstring تکیه نکنید، زیرا ممکن است تغییر کند.

مثال قانون خطا

<FaultRules>
    <FaultRule name="JWS Policy Errors">
        <Step>
            <Name>JavaScript-1</Name>
            <Condition>(fault.name Matches "TokenExpired")</Condition>
        </Step>
        <Condition>JWS.failed=true</Condition>
    </FaultRule>
</FaultRules>

خط‌مشی GenerateJWT

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای زمانی که درحال توسعه قوانین خطا برای مدیریت خطاها هستید مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانید و رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP وقتی رخ می‌دهد
steps.jwt.AlgorithmInTokenNotPresentInConfiguration 401 زمانی رخ می‌دهد که خط‌مشی درستی‌سنجی دارای چندین الگوریتم باشد.
steps.jwt.AlgorithmMismatch 401 الگوریتم مشخص‌شده در خط‌مشی «تولید» با الگوریتم موردانتظار در خط‌مشی «تأیید» مطابقت نداشت. الگوریتم‌های مشخص‌شده باید مطابقت داشته باشند.
steps.jwt.FailedToDecode 401 خط‌مشی نتوانست JWT را رمزگشایی کند. ‫JWT احتمالاً خراب است.
steps.jwt.GenerationFailed 401 خط‌مشی نتوانست JWT را تولید کند.
steps.jwt.InsufficientKeyLength 401 برای کلیدی کمتر از ۳۲ بایت برای الگوریتم HS256، کمتر از ۴۸ بایت برای الگوریتم HS386، و کمتر از ۶۴ بایت برای الگوریتم HS512.
steps.jwt.InvalidClaim 401 برای ادعای مالکیت گم‌شده یا عدم تطابق ادعای مالکیت، یا سرایند گم‌شده یا عدم تطابق سرایند.
steps.jwt.InvalidCurve 401 منحنی مشخص‌شده توسط کلید برای الگوریتم «منحنی بیضوی» معتبر نیست.
steps.jwt.InvalidJsonFormat 401 ‫JSON نامعتبر در سرایند یا پایه‌بار پیدا شد.
steps.jwt.InvalidToken 401 این خطا زمانی رخ می‌دهد که درستی‌سنجی امضای JWT ناموفق باشد.
steps.jwt.JwtAudienceMismatch 401 ادعای مخاطب در درستی‌سنجی نمودار ناموفق بود.
steps.jwt.JwtIssuerMismatch 401 ادعای صادرکننده در درستی‌سنجی نمودار ناموفق بود.
steps.jwt.JwtSubjectMismatch 401 ادعای موضوع در درستی‌سنجی نمودار اصالت‌سنجی ناموفق بود.
steps.jwt.KeyIdMissing 401 خط‌مشی «درستی‌سنجی» از JWKS به‌عنوان منبع کلیدهای عمومی استفاده می‌کند، اما JWT امضاشده شامل دارایی kid در سرایند نیست.
steps.jwt.KeyParsingFailed 401 کلید عمومی از اطلاعات کلید ارائه‌شده تجزیه نشد.
steps.jwt.NoAlgorithmFoundInHeader 401 زمانی رخ می‌دهد که JWT سرصفحه الگوریتم نداشته باشد.
steps.jwt.NoMatchingPublicKey 401 خط‌مشی «درستی‌سنجی» از JWKS به‌عنوان منبع کلیدهای عمومی استفاده می‌کند، اما kid در JWT امضاشده در JWKS فهرست نشده است.
steps.jwt.SigningFailed 401 در GenerateJWT، برای کلیدی که کمتر از اندازه حداقل برای الگوریتم‌های HS384 یا HS512 است
steps.jwt.TokenExpired 401 خط‌مشی سعی می‌کند یک کد منقضی‌شده را درستی‌سنجی کند.
steps.jwt.TokenNotYetValid 401 کد هنوز معتبر نیست.
steps.jwt.UnhandledCriticalHeader 401 سرایندی که خط‌مشی «درستی‌سنجی JWT» در سرایند crit پیدا کرده است در KnownHeaders فهرست نشده است.
steps.jwt.UnknownException 401 استثنای ناشناخته‌ای روی داد.
steps.jwt.WrongKeyType 401 نوع کلید مشخص‌شده اشتباه است. برای مثال، اگر کلید RSA را برای الگوریتم «منحنی بیضوی» یا کلید منحنی را برای الگوریتم RSA مشخص کنید.

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خط‌مشی را مستقر می‌کنید.

نام خطا علت رفع اشکال
InvalidNameForAdditionalClaim اگر ادعای استفاده‌شده در عنصر فرزند <Claim> عنصر <AdditionalClaims> یکی از نام‌های ثبت‌شده زیر باشد، استقرار ناموفق خواهد بود: kid، iss، sub، aud، iat، exp، nbf، یا jti.
InvalidTypeForAdditionalClaim اگر ادعای استفاده‌شده در عنصر فرزند <Claim> عنصر <AdditionalClaims> از نوع string، number، boolean، یا map نباشد، استقرار ناموفق خواهد بود.
MissingNameForAdditionalClaim اگر نام ادعا در عنصر فرزند <Claim> عنصر <AdditionalClaims> مشخص نشده باشد، استقرار ناموفق خواهد بود.
InvalidNameForAdditionalHeader این خطا زمانی رخ می‌دهد که نام ادعای استفاده‌شده در عنصر فرزند <Claim> عنصر <AdditionalClaims> یا alg یا typ باشد.
InvalidTypeForAdditionalHeader اگر نوع ادعای استفاده‌شده در عنصر فرزند <Claim> عنصر <AdditionalClaims> از نوع string، number، boolean، یا map نباشد، استقرار ناموفق خواهد بود.
InvalidValueOfArrayAttribute این خطا زمانی رخ می‌دهد که مقدار مشخصه آرایه در عنصر فرزند <Claim> عنصر <AdditionalClaims> روی true یا false تنظیم نشده باشد.
InvalidConfigurationForActionAndAlgorithm اگر عنصر <PrivateKey> با الگوریتم‌های «خانواده HS» استفاده شود یا عنصر <SecretKey> با الگوریتم‌های «خانواده RSA» استفاده شود، استقرار ناموفق خواهد بود.
InvalidValueForElement اگر مقدار مشخص‌شده در عنصر <Algorithm> مقدار پشتیبانی‌شده‌ای نباشد، استقرار ناموفق خواهد بود.
MissingConfigurationElement اگر عنصر <PrivateKey> با الگوریتم‌های خانواده RSA استفاده نشود یا عنصر <SecretKey> با الگوریتم‌های خانواده HS استفاده نشود، این خطا رخ می‌دهد.
InvalidKeyConfiguration اگر عنصر فرزند <Value> در عناصر <PrivateKey> یا <SecretKey> تعریف نشده باشد، استقرار ناموفق خواهد بود.
EmptyElementForKeyConfiguration اگر مشخصه ref عنصر فرزند <Value> عنصر <PrivateKey> یا <SecretKey> خالی یا نامشخص باشد، استقرار ناموفق خواهد بود.
InvalidVariableNameForSecret این خطا زمانی رخ می‌دهد که نام متغیر جاری‌سازی مشخص‌شده در مشخصه ref عنصر فرزند <Value> از عناصر <PrivateKey> یا <SecretKey> پیشوند خصوصی (private.) را نداشته باشد.
InvalidSecretInConfig این خطا زمانی رخ می‌دهد که عنصر فرزند <Value> از عناصر <PrivateKey> یا <SecretKey> پیشوند خصوصی (private.) را نداشته باشد.
InvalidTimeFormat اگر مقدار مشخص‌شده در عنصر <NotBefore> از قالب پشتیبانی‌شده‌ای استفاده نکند، استقرار ناموفق خواهد بود.

متغیرهای خطا

این متغیرها زمانی تنظیم می شوند که یک خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.

متغیرها کجا مثال
fault.name=" fault_name " fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. fault.name Matches "TokenExpired"
JWT.failed همه خط مشی های JWT متغیرهای یکسانی را در صورت خرابی تنظیم می کنند. JWT.failed = true

نمونه پاسخ خطا

کدهای خطای خط مشی JWT

برای رسیدگی به خطا، بهترین روش به دام انداختن قسمت errorcode در پاسخ به خطا است. به متن موجود در faultstring تکیه نکنید، زیرا ممکن است تغییر کند.

مثال قانون خطا

    <FaultRules>
        <FaultRule name="JWT Policy Errors">
            <Step>
                <Name>JavaScript-1</Name>
                <Condition>(fault.name Matches "TokenExpired")</Condition>
            </Step>
            <Condition>JWT.failed=true</Condition>
        </FaultRule>
    </FaultRules>
    

خط‌مشی JavaCallout

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطا را که توسط Edge تنظیم می‌شوند، هنگامی که این خط‌مشی خطا را راه‌اندازی می‌کند، توضیح می‌دهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای سیاست رخ دهند.

کد خطا وضعیت HTTP علت رفع کنید
steps.javacallout.ExecutionError 500 زمانی اتفاق می‌افتد که کد جاوا در طول اجرای یک خط‌مشی JavaCallout یک استثنا ایجاد می‌کند یا null را برمی‌گرداند.

خطاهای استقرار

این خطاها می توانند زمانی رخ دهند که پروکسی حاوی خط مشی مستقر است.

نام خطا رشته خطا وضعیت HTTP زمانی رخ می دهد
ResourceDoesNotExistResource with name [name] and type [type] does not exist N/A فایل مشخص شده در عنصر <ResourceURL> وجود ندارد.
JavaCalloutInstantiationFailed Failed to instantiate the JavaCallout Class [classname] N/A فایل کلاس مشخص شده در عنصر <ClassName> در 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 .
steps.javascript.ScriptExecutionFailedLineNumber 500 خطایی در کد جاوا اسکریپت رخ داد. برای جزئیات بیشتر به رشته خطا مراجعه کنید. N/A
steps.javascript.ScriptSecurityError 500 هنگام اجرای جاوا اسکریپت یک خطای امنیتی روی داد. برای جزئیات بیشتر به رشته خطا مراجعه کنید. N/A

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.

نام خطا علت رفع کنید
InvalidResourceUrlFormat اگر قالب URL منبع مشخص شده در <ResourceURL> یا عنصر <IncludeURL> خط مشی جاوا اسکریپت نامعتبر باشد، در این صورت استقرار پروکسی API با شکست مواجه می شود.
InvalidResourceUrlReference اگر عناصر <ResourceURL> یا <IncludeURL> به یک فایل جاوا اسکریپت اشاره می کنند که وجود ندارد، در این صورت استقرار پروکسی API با شکست مواجه می شود. فایل منبع ارجاع شده باید در سطح پروکسی API، محیط یا سطح سازمان باشد.
WrongResourceType اگر عناصر <ResourceURL> یا <IncludeURL> خط مشی جاوا اسکریپت به هر نوع منبعی غیر از jsc (فایل جاوا اسکریپت) اشاره داشته باشند، این خطا در حین استقرار رخ می دهد.
NoResourceURLOrSource اگر عنصر <ResourceURL> اعلان نشده باشد یا URL منبع در این عنصر تعریف نشده باشد، استقرار خط مشی جاوا اسکریپت می تواند با این خطا شکست بخورد. عنصر <ResourceURL> یک عنصر اجباری است. یا، عنصر <IncludeURL> اعلام شده است اما URL منبع در این عنصر تعریف نشده است. عنصر <IncludeURL> اختیاری است، اما اگر اعلام شود، URL منبع باید در عنصر <IncludeURL> مشخص شود.

متغیرهای خطا

این متغیرها زمانی تنظیم می شوند که این خط مشی خطایی را در زمان اجرا ایجاد کند. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.

متغیرها کجا مثال
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 نامعتبر باشد.
steps.jsonthreatprotection.SourceUnavailable 500 این خطا در صورتی رخ می دهد که متغیر پیام مشخص شده در عنصر <Source> یکی از این موارد باشد:
  • خارج از محدوده (در جریان خاصی که سیاست در آن اجرا می شود موجود نیست)
  • یکی از مقادیر معتبر request ، response یا message نیست
steps.jsonthreatprotection.NonMessageVariable 500 این خطا در صورتی رخ می دهد که عنصر <Source> روی متغیری تنظیم شود که از نوع پیام نیست.

خطاهای استقرار

هیچ کدام

متغیرهای خطا

این متغیرها زمانی تنظیم می شوند که این خط مشی خطایی را ایجاد کند. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.

متغیرها کجا مثال
fault.name=" fault_name " fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. fault.name Matches "SourceUnavailable"
jsonattack. policy_name .failed policy_name نام سیاستی است که توسط کاربر مشخص شده است که خطا را ایجاد کرده است. jsonattack.JTP-SecureRequest.failed = true

نمونه پاسخ خطا

{
  "fault": {
    "faultstring": "JSONThreatProtection[JPT-SecureRequest]: Execution failed. reason: JSONThreatProtection[JTP-SecureRequest]: Exceeded object entry name length at line 2",
    "detail": {
      "errorcode": "steps.jsonthreatprotection.ExecutionFailed"
    }
  }
}

مثال قانون خطا

<FaultRule name="JSONThreatProtection Policy Faults">
    <Step>
        <Name>AM-CustomErrorResponse</Name>
        <Condition>(fault.name Matches "ExecutionFailed") </Condition>
    </Step>
    <Condition>(jsonattack.JPT-SecureRequest.failed = true) </Condition>
</FaultRule>

انواع خط‌مشی JSONThreatProtection کدهای خطای زیر را تعریف می‌کند:

خط‌مشی JSONtoXML

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه می‌دهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP علت رفع اشکال
steps.jsontoxml.ExecutionFailed ۵۰۰ پایه‌بار ورودی (JSON) خالی است یا ورودی (JSON) که به خط‌مشی JSON به XML ارسال شده است نامعتبر یا بدشکل است.
steps.jsontoxml.InCompatibleTypes ۵۰۰ این خطا زمانی رخ می‌دهد که نوع متغیر تعریف‌شده در عنصر <Source> و عنصر <OutputVariable> یکسان نباشد. الزامی است که نوع متغیرهای موجود در عنصر <Source> و عنصر <OutputVariable> مطابقت داشته باشد. انواع معتبر عبارت‌اند از message و string.
steps.jsontoxml.InvalidSourceType ۵۰۰ اگر نوع متغیر استفاده‌شده برای تعریف عنصر <Source> نامعتبر باشد، این خطا رخ می‌دهد. انواع معتبر متغیر message و string است.
steps.jsontoxml.OutputVariableIsNotAvailable ۵۰۰ این خطا زمانی رخ می‌دهد که متغیر مشخص‌شده در عنصر <Source> از JSON به «خط‌مشی زبان نشانه‌گذاری توسعه‌پذیر» از نوع رشته باشد و عنصر <OutputVariable> تعریف نشده باشد. وقتی متغیر تعریف‌شده در عنصر <Source> از نوع رشته باشد، عنصر <OutputVariable> اجباری است.
steps.jsontoxml.SourceUnavailable ۵۰۰ این خطا زمانی رخ می‌دهد که متغیر پیام مشخص‌شده در عنصر <Source> خط‌مشی JSON به XML یکی از موارد زیر باشد:
  • خارج از محدوده (در جریان خاصی که خط‌مشی در آن اجرا می‌شود دردسترس نیست) یا
  • قابل‌حل نیست (تعریف نشده است)

خطاهای استقرار

هیچ‌کدام.

متغیرهای خطا

این متغیرها زمانی تنظیم می‌شوند که خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدرا ببینید.

متغیر مکان مثال
fault.name="fault_name" ‫fault_name نام خطا است، همان‌طور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. fault.name Matches "SourceUnavailable"
jsontoxml.policy_name.failed ‫policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. jsontoxml.JSON-to-XML-1.failed = true

نمونه پاسخ خطا

{
  "fault": {
    "faultstring": "JSONToXML[JSON-to-XML-1]: Source xyz is not available",
    "detail": {
      "errorcode": "steps.json2xml.SourceUnavailable"
    }
  }
}

قانون خطای نمونه

<FaultRule name="JSON To XML Faults">
    <Step>
        <Name>AM-SourceUnavailableMessage</Name>
        <Condition>(fault.name Matches "SourceUnavailable") </Condition>
    </Step>
    <Step>
        <Name>AM-BadJSON</Name>
        <Condition>(fault.name = "ExecutionFailed")</Condition>
    </Step>
    <Condition>(jsontoxml.JSON-to-XML-1.failed = true) </Condition>
</FaultRule>

خط‌مشی KeyValueMapOperations

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه می‌دهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP علت رفع اشکال
steps.keyvaluemapoperations.SetVariableFailed ۵۰۰

اگر بخواهید مقداری را از نقشه مقدار کلید رمزگذاری‌شده بازیابی کنید و مقدار را روی متغیری تنظیم کنید که نام آن پیشوند private را ندارد، این خطا رخ می‌دهد. پیشوند که برای اهداف امنیتی اولیه درطول اشکال‌زدایی الزامی است، مقادیر رمزگذاری‌شده را از جلسه‌های اشکال‌زدایی و ردیابی پراکسی «میانای برنامه‌سازی کاربردی» پنهان می‌کند.

steps.keyvaluemapoperations.UnsupportedOperationException ۵۰۰

اگر مشخصه mapIdentifier در خط‌مشی «عملیات نقشه مقدار کلید» روی رشته خالی تنظیم شده باشد، این خطا رخ می‌دهد.

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خط‌مشی را مستقر می‌کنید.

نام خطا علت رفع اشکال
InvalidIndex اگر مشخصه index مشخص‌شده در عنصر <Get> خط‌مشی «عملیات نقشه مقدار کلید» صفر یا عددی منفی باشد، استقرار پراکسی API ناموفق خواهد بود. شاخص از 1 شروع می‌شود، بنابراین شاخص صفر یا عدد صحیح منفی نامعتبر درنظر گرفته می‌شود.
KeyIsMissing این خطا زمانی رخ می‌دهد که عنصر <Key> به‌طور کامل وجود نداشته باشد یا عنصر <Parameter> در عنصر <Key> در زیر <Entry> عنصر <InitialEntries> خط‌مشی «عملیات نقشه مقدار کلید» وجود نداشته باشد.
ValueIsMissing این خطا زمانی رخ می‌دهد که عنصر <Value> در زیر عنصر <Entry> عنصر <InitialEntries> در خط‌مشی «عملیات نقشه مقدار کلید» وجود نداشته باشد.

خط‌مشی LDAP

این خط مشی از کدهای خطای زیر استفاده می کند:

کد خطا پیام
InvalidAttributeName Invalid attribute name {0}.
InvalidSearchBase Search base can not be empty.
InvalidValueForPassword Invalid value for password field. It can not be empty.
InvalidSearchScope Invalid scope {0}. Allowed scopes are {1}.
InvalidUserCredentials Invalid user credentials.
InvalidExternalLdapReference Invalid external ldap reference {0}.
LdapResourceNotFound Ldap resource {0} not found.
BaseDNRequired Base DN required.
OnlyReferenceOrValueIsAllowed Only value or reference is allowed for {0}.
AttributesRequired At least one attribute required for search action.
UserNameIsNull User name is null.
SearchQueryAndUserNameCannotBePresent Both search query and username can not be present in the authentication action. Please specify either one of them.

خط‌مشی MessageLogging

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه می‌دهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP علت
steps.messagelogging.StepDefinitionExecutionFailed ۵۰۰ رشته خطا را ببینید.

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خط‌مشی را مستقر می‌کنید.

نام خطا علت رفع اشکال
InvalidProtocol اگر پروتکل مشخص‌شده در عنصر <Protocol> معتبر نباشد، استقرار خط‌مشی MessageLogging می‌تواند با این خطا ناموفق باشد. پروتکل‌های معتبر عبارت‌اند از TCP و UDP. برای ارسال پیام‌های syslog ازطریق TLS/SSL، فقط از TCP پشتیبانی می‌شود.
InvalidPort اگر شماره درگاه در عنصر <Port> مشخص نشده باشد یا معتبر نباشد، استقرار خط‌مشی MessageLogging ممکن است با این خطا ناموفق باشد. شماره درگاه باید عدد صحیحی بزرگ‌تر از صفر باشد.

متغیرهای خطا

این متغیرها زمانی تنظیم می‌شوند که خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدرا ببینید.

متغیر مکان مثال
fault.name="fault_name" ‫fault_name نام خطا است، همان‌طور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. fault.name Matches "StepDefinitionExecutionFailed"
messagelogging.policy_name.failed ‫policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. messagelogging.ML-LogMessages.failed = true

نمونه پاسخ خطا

{  
   "fault":{  
      "detail":{  
         "errorcode":"steps.messagelogging.StepDefinitionExecutionFailed"
      },
      "faultstring":"Execution failed"
   }
}

قانون خطای نمونه

<FaultRule name="MessageLogging">
    <Step>
        <Name>ML-LogMessages</Name>
        <Condition>(fault.name Matches "StepDefinitionExecutionFailed") </Condition>
    </Step>
    <Condition>(messagelogging.ML-LogMessages.failed = true) </Condition>
</FaultRule>

خط‌مشی OASValidation

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه می‌دهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP علت
steps.oasvalidation.Failed ۵۰۰ بدنه پیام درخواست نمی‌تواند دربرابر «مشخصات OpenAPI» ارائه‌شده اعتبارسنجی شود.
steps.oasvalidation.SourceMessageNotAvailable ۵۰۰

متغیر مشخص‌شده در عنصر <Source> خط‌مشی یا خارج از محدوده است یا نمی‌تواند حل شود.

steps.oasvalidation.NotMessageVariable ۵۰۰

عنصر <Source> روی متغیری تنظیم شده است که از نوع پیام نیست.

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خط‌مشی را مستقر می‌کنید.

نام خطا علت
ResourceDoesNotExist «مشخصات OpenAPI» ارجاع‌داده‌شده در عنصر <OASResource> وجود ندارد.
ResourceCompileFailed «مشخصات OpenAPI» که در استقرار گنجانده شده است حاوی خطاهایی است که مانع از کامپایل شدن آن می‌شود. این معمولاً نشان می‌دهد که مشخصات «مشخصات OpenAPI 3.0» با قالب‌بندی درست نیست.
BadResourceURL «مشخصات OpenAPI» ارجاع‌داده‌شده در عنصر <OASResource> نمی‌تواند پردازش شود. این مشکل می‌تواند به این دلیل رخ دهد که فایل JSON یا YAML نیست یا نشانی وب فایل به‌درستی مشخص نشده است.

متغیرهای خطا

این متغیرها زمانی تنظیم می‌شوند که این خط‌مشی در زمان اجرا باعث بروز خطا شود. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانید را ببینید.

متغیر مکان مثال
fault.name="fault_name" ‫fault_name نام خطا است، همان‌طور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. fault.name Matches "ResourceDoesNotExist"
oasvalidation.policy_name.failed ‫policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. oasvalidation.myoaspolicy.failed = true

خط‌مشی PopulateCache

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه می‌دهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP وقتی رخ می‌دهد
policies.populatecache.EntryCannotBeCached ۵۰۰ ورودی نمی‌تواند در حافظه نهان ذخیره شود. شیء پیامی که در حافظه نهان ذخیره می‌شود نمونه‌ای از کلاسی نیست که «سریال‌شدنی» باشد.

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خط‌مشی را مستقر می‌کنید.

نام خطا علت رفع اشکال
InvalidCacheResourceReference این خطا زمانی رخ می‌دهد که عنصر <CacheResource> در خط‌مشی PopulateCache روی نامی تنظیم شده باشد که در محیطی که پراکسی API در آن مستقر می‌شود وجود ندارد.
CacheNotFound حافظه نهان مشخص‌شده در عنصر <CacheResource> وجود ندارد.

متغیرهای خطا

این متغیرها زمانی تنظیم می‌شوند که این خط‌مشی باعث ایجاد خطا شود. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدرا ببینید.

متغیر مکان مثال
fault.name="fault_name" ‫fault_name نام خطا است، همان‌طور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. fault.name = "EntryCannotBeCached"
populatecache.policy_name.failed ‫policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. populatecache.POP-CACHE-1.failed = true

نمونه پاسخ خطا

{
  "fault": {
    "faultstring": "[entry] can not be cached. Only serializable entries are cached.",
    "detail": {
      "errorcode": "steps.populatecache.EntryCannotBeCached"
    }
  }
}

قانون خطای نمونه

<FaultRule name="Populate Cache Fault">
    <Step>
        <Name>AM-EntryCannotBeCached</Name>
        <Condition>(fault.name Matches "EntryCannotBeCached") </Condition>
    </Step>
    <Condition>(populatecache.POP-CACHE-1.failed = true) </Condition>
</FaultRule>

خط‌مشی LookupCache

این بخش پیام‌های خطا و متغیرهای جریانی را توضیح می‌دهد که وقتی این خط‌مشی خطا را راه‌اندازی می‌کند، تنظیم می‌شود. این اطلاعات مهم است که بدانید آیا در حال ایجاد قوانین خطا برای یک پروکسی هستید. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.

پیشوند کد خطا

N/A

خطاهای زمان اجرا

این سیاست هیچ گونه خطای زمان اجرا ایجاد نمی کند.

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.

نام خطا علت ثابت
InvalidCacheResourceReference اگر عنصر <CacheResource> روی نامی تنظیم شود که در محیطی که پراکسی API در آن مستقر می شود وجود نداشته باشد، این خطا رخ می دهد.
InvalidTimeout اگر عنصر <CacheLookupTimeoutInSeconds> روی یک عدد منفی تنظیم شود، آنگاه استقرار پراکسی API با شکست مواجه می شود.
CacheNotFound این خطا در صورتی رخ می دهد که حافظه پنهان ذکر شده در پیام خطا روی یک جزء خاص Message Processor ایجاد نشده باشد.

متغیرهای خطا

N/A

نمونه پاسخ خطا

N/A

خط‌مشی InvalidateCache

این بخش پیام‌های خطا و متغیرهای جریانی را توضیح می‌دهد که وقتی این خط‌مشی خطا را راه‌اندازی می‌کند، تنظیم می‌شود. این اطلاعات مهم است که بدانید آیا در حال ایجاد قوانین خطا برای یک پروکسی هستید. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.

پیشوند کد خطا

N/A

خطاهای زمان اجرا

این سیاست هیچ گونه خطای زمان اجرا ایجاد نمی کند.

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پروکسی حاوی این خط مشی را مستقر می کنید.

نام خطا علت ثابت
InvalidCacheResourceReference اگر عنصر <CacheResource> در خط مشی InvalidateCache روی نامی تنظیم شود که در محیطی که پراکسی API در آن مستقر می شود وجود نداشته باشد، این خطا رخ می دهد.
CacheNotFound این خطا در صورتی رخ می دهد که حافظه پنهان ذکر شده در پیام خطا روی یک جزء خاص Message Processor ایجاد نشده باشد.

متغیرهای خطا

N/A

نمونه پاسخ خطا

N/A

خط‌مشی ResponseCache

این بخش پیام‌های خطا و متغیرهای جریانی را که هنگام فعال شدن این خط‌مشی و بروز خطا تنظیم می‌شوند شرح می‌دهد. اگر درحال توسعه قوانین خطا برای پراکسی هستید، این اطلاعات مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

پیشوند کد خطا

موجود نیست

خطاهای زمان اجرا

این خط‌مشی هیچ خطای زمان اجرایی ایجاد نمی‌کند.

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خط‌مشی را مستقر می‌کنید.

نام خطا علت رفع اشکال
InvalidTimeout اگر عنصر <CacheLookupTimeoutInSeconds> خط‌مشی ResponseCache روی عدد منفی تنظیم شده باشد، استقرار پراکسی API ناموفق خواهد بود.
InvalidCacheResourceReference این خطا زمانی رخ می‌دهد که عنصر <CacheResource> در خط‌مشی ResponseCache روی نامی تنظیم شده باشد که در محیطی که پراکسی API در آن مستقر می‌شود وجود ندارد.
ResponseCacheStepAttachmentNotAllowedReq این خطا زمانی رخ می‌دهد که خط‌مشی ResponseCache یکسانی به چندین مسیر درخواست در هر جریانی از یک پراکسی API پیوست شده باشد.
ResponseCacheStepAttachmentNotAllowedResp این خطا زمانی رخ می‌دهد که خط‌مشی ResponseCache یکسانی به چندین مسیر پاسخ در هر جریانی از پراکسی API پیوست شده باشد.
InvalidMessagePatternForErrorCode این خطا زمانی رخ می‌دهد که عنصر <SkipCacheLookup> یا <SkipCachePopulation> در خط‌مشی ResponseCache حاوی شرط نامعتبر باشد.
CacheNotFound این خطا زمانی رخ می‌دهد که حافظه نهان خاص ذکرشده در پیام خطا در جزء «پردازنده پیام» خاصی ایجاد نشده باشد.

متغیرهای خطا

موجود نیست

نمونه پاسخ خطا

موجود نیست

خط‌مشی OAuthV2

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه می‌دهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP علت پرتاب‌شده توسط عملیات
steps.oauth.v2.access_token_expired 401 کد دسترسی منقضی شده است.

VerifyAccessToken
InvalidateToken

steps.oauth.v2.access_token_not_approved 401 کد دسترسی باطل شد. VerifyAccessToken
steps.oauth.v2.apiresource_doesnot_exist 401 منبع درخواست‌شده در هیچ‌یک از محصولات «میانای برنامه‌سازی کاربردی» مرتبط با کد دسترسی وجود ندارد. VerifyAccessToken
steps.oauth.v2.FailedToResolveAccessToken ۵۰۰ خط‌مشی انتظار داشت کد دسترسی را در متغیری که در عنصر <AccessToken> مشخص شده است پیدا کند، اما متغیر قابل‌حل نبود. GenerateAccessToken
steps.oauth.v2.FailedToResolveAuthorizationCode ۵۰۰ خط‌مشی انتظار داشت کد تأییدیه‌ای را در متغیری که در عنصر <Code> مشخص شده است پیدا کند، اما متغیر قابل‌حل نبود. GenerateAuthorizationCode
steps.oauth.v2.FailedToResolveClientId ۵۰۰ خط‌مشی انتظار داشت «شناسه مشتری» را در متغیری که در عنصر <ClientId> مشخص شده است پیدا کند، اما متغیر قابل‌حل نبود. GenerateAccessToken
GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
RefreshAccessToken
steps.oauth.v2.FailedToResolveRefreshToken ۵۰۰ خط‌مشی انتظار داشت نشان بازآوری را در متغیری که در عنصر <RefreshToken> مشخص شده است پیدا کند، اما متغیر قابل‌حل نبود. RefreshAccessToken
steps.oauth.v2.FailedToResolveToken ۵۰۰ خط‌مشی انتظار داشت نشانه‌ای را در متغیری که در عنصر <Tokens> مشخص شده است پیدا کند، اما متغیر قابل‌حل نبود.

اعتبارسنجی کد
کد را نامعتبر کنید

steps.oauth.v2.InsufficientScope 403 دامنه کد دسترسی ارائه‌شده در درخواست با دامنه مشخص‌شده در خط‌مشی درستی‌سنجی کد دسترسی مطابقت ندارد. برای آشنایی با محدوده، کار با محدوده‌های OAuth2 را ببینید. VerifyAccessToken
steps.oauth.v2.invalid_access_token 401 کد دسترسی ارسال‌شده از کارخواه نامعتبر است. VerifyAccessToken
steps.oauth.v2.invalid_client 401

این نام خطا زمانی برگردانده می‌شود که دارایی <GenerateResponse> خط‌مشی روی درست تنظیم شده باشد و شناسه مشتری ارسال‌شده در درخواست نامعتبر باشد. بررسی کنید که از مقادیر کلید و رمز مشتری صحیح برای «برنامه توسعه‌دهنده» مرتبط با پراکسی خود استفاده می‌کنید. معمولاً این مقادیر به‌عنوان سرصفحه «مجوز پایه» کدبندی‌شده با Base64 ارسال می‌شوند.

توجه: توصیه می‌شود شرایط قانون خطای موجود را تغییر دهید تا نام‌های invalid_client و InvalidClientIdentifier را هر دو دریافت کند. برای اطلاعات بیشتر و دیدن نمونه، یادداشت‌های انتشار ۱۶ سپتامبر ۲۰۲۱ را ببینید.

GenerateAccessToken
RefreshAccessToken
steps.oauth.v2.InvalidRequest ۴۰۰ این نام خطا برای انواع مختلفی از خطاها استفاده می‌شود، معمولاً برای پارامترهای ازدست‌رفته یا نادرست که در درخواست ارسال شده‌اند. اگر <GenerateResponse> روی false تنظیم شده است، از متغیرهای خطا (توضیح داده‌شده در زیر) برای بازیابی جزئیات خطا، مانند نام و علت خطا، استفاده کنید. GenerateAccessToken
GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
RefreshAccessToken
steps.oauth.v2.InvalidAccessToken 401 سرایند مجوز کلمه «حامل» را ندارد که الزامی است. برای مثال: Authorization: Bearer your_access_token VerifyAccessToken
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401

پراکسی API در «محصول» مرتبط با کد دسترسی نیست.

نکته‌ها: مطمئن شوید محصول مرتبط با کد دسترسی به‌درستی پیکربندی شده باشد. برای مثال، اگر از نویسه‌های عام در مسیرهای منبع استفاده می‌کنید، مطمئن شوید که نویسه‌های عام به‌درستی استفاده می‌شوند. برای جزئیات، ایجاد محصولات میانای برنامه‌سازی کاربردی را ببینید.

برای راهنمایی بیشتر درباره دلایل این خطا، این پست انجمن Apigee را نیز ببینید.

VerifyAccessToken
steps.oauth.v2.InvalidClientIdentifier ۵۰۰

این نام خطا زمانی برگردانده می‌شود که دارایی <GenerateResponse> خط‌مشی روی false تنظیم شده باشد و شناسه کارخواه ارسال‌شده در درخواست نامعتبر باشد. بررسی کنید که از کلید مشتری و مقادیر رمز صحیح برای «برنامه توسعه‌دهنده» مرتبط با پراکسی خود استفاده می‌کنید. معمولاً این مقادیر به‌عنوان سرصفحه «مجوز پایه» کدبندی‌شده با «۶۴پایه» ارسال می‌شوند.

توجه: در این وضعیت، این خطا قبلاً invalid_client نامیده می‌شد. توصیه می‌شود شرایط قانون خطای موجود را تغییر دهید تا نام‌های invalid_client و InvalidClientIdentifier را هر دو دریافت کند. برای اطلاعات بیشتر و دیدن نمونه، یادداشت‌های انتشار ۱۶ سپتامبر ۲۰۲۱ را ببینید.

GenerateAccessToken
RefreshAccessToken

steps.oauth.v2.InvalidParameter ۵۰۰ خط‌مشی باید یا کد دسترسی یا کد مجوز را مشخص کند، اما نه هر دو را. GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
steps.oauth.v2.InvalidTokenType ۵۰۰ عنصر <Tokens>/<Token> از شما می‌خواهد نوع نشان را مشخص کنید (برای مثال، refreshtoken). اگر کارخواه نوع اشتباه را ارسال کند، این خطا ایجاد می‌شود. ‫ValidateToken
InvalidateToken
steps.oauth.v2.MissingParameter ۵۰۰ نوع پاسخ token است، اما نوع اعطایی مشخص نشده است. GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
steps.oauth.v2.UnSupportedGrantType ۵۰۰

کارخواه نوع پروانه‌ای را مشخص کرده است که خط‌مشی پشتیبانی نمی‌کند (در عنصر <SupportedGrantTypes> فهرست نشده است).

توجه: درحال‌حاضر اشکالی وجود دارد که در آن خطاهای نوع اعطای غیرپشتیبانی‌شده به‌درستی ایجاد نمی‌شوند. اگر خطای نوع اعطای پشتیبانی‌نشده‌ای رخ دهد، پراکسی طبق انتظار وارد «جریان خطا» نمی‌شود.

GenerateAccessToken
GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
RefreshAccessToken

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خط‌مشی را مستقر می‌کنید.

نام خطا علت
InvalidValueForExpiresIn

برای عنصر <ExpiresIn>، مقادیر معتبر اعداد صحیح مثبت و -1 است.

InvalidValueForRefreshTokenExpiresIn برای عنصر <RefreshTokenExpiresIn>، مقادیر معتبر عبارت‌اند از اعداد صحیح مثبت و -1.
InvalidGrantType نوع پروانه نامعتبری در عنصر <SupportedGrantTypes> مشخص شده است. برای فهرست انواع معتبر، به مرجع خط‌مشی مراجعه کنید.
ExpiresInNotApplicableForOperation مطمئن شوید که عملیات مشخص‌شده در عنصر <Operations> از انقضا پشتیبانی می‌کند. برای مثال، عملیات VerifyToken این کار را انجام نمی‌دهد.
RefreshTokenExpiresInNotApplicableForOperation مطمئن شوید که عملیات مشخص‌شده در عنصر <Operations> از انقضای توکن بازآوری پشتیبانی می‌کند. برای مثال، عملیات VerifyToken این کار را انجام نمی‌دهد.
GrantTypesNotApplicableForOperation مطمئن شوید که انواع پروانه‌های مشخص‌شده در <SupportedGrantTypes> برای عملکرد مشخص‌شده پشتیبانی می‌شوند.
OperationRequired

باید عملیاتی را در این خط‌مشی بااستفاده از عنصر <Operation> مشخص کنید.

توجه: اگر عنصر <Operation> وجود نداشته باشد، «میانای کاربری» خطای اعتبارسنجی طرحواره می‌دهد.

InvalidOperation

باید بااستفاده از عنصر <Operation>، عملیات معتبری را در این خط‌مشی مشخص کنید.

توجه: اگر عنصر <Operation> نامعتبر باشد، «میانای کاربری» خطای اعتبارسنجی طرحواره می‌دهد.

TokenValueRequired باید مقدار <Token> نشانه را در عنصر <Tokens> مشخص کنید.

متغیرهای خطا

این متغیرها زمانی تنظیم می‌شوند که این خط‌مشی در زمان اجرا باعث بروز خطا شود.

متغیر مکان مثال
fault.name="fault_name" ‫fault_name نام خطا است، همان‌طور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. fault.name = "InvalidRequest"
oauthV2.policy_name.failed policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. oauthV2.GenerateAccesstoken.failed = true
oauthV2.policy_name.fault.name ‫policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. oauthV2.GenerateAccesstoken.fault.name = InvalidRequest

توجه: برای عملیات VerifyAccessToken، نام خطا شامل این پسوند است: keymanagement.service
برای مثال: keymanagement.service.invalid_access_token

oauthV2.policy_name.fault.cause policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. oauthV2.GenerateAccesstoken.cause = Required param : grant_type

نمونه پاسخ خطا

اگر عنصر <GenerateResponse> درست باشد، این پاسخ‌ها به مشتری برگردانده می‌شود.

اگر <GenerateResponse> درست باشد، خط‌مشی برای عملیاتی که کدها و نشان‌ها را تولید می‌کنند، خطاهایی با این قالب برمی‌گرداند. برای مشاهده فهرست کامل، به مرجع پاسخ خطای HTTP در OAuth مراجعه کنید.

{"ErrorCode" : "invalid_client", "Error" :"ClientId is Invalid"}

اگر <GenerateResponse> درست باشد، خط‌مشی برای عملیات درستی‌سنجی و اعتبارسنجی، خطاها را با این قالب برمی‌گرداند. برای مشاهده فهرست کامل، به مرجع پاسخ خطای HTTP در OAuth مراجعه کنید.

{  
   {  
      "fault":{  
         "faultstring":"Invalid Access Token",
         "detail":{  
            "errorcode":"keymanagement.service.invalid_access_token"
         }
      }
   }

قانون خطای نمونه

<FaultRule name=OAuthV2 Faults">
    <Step>
        <Name>AM-InvalidClientResponse</Name>
        <Condition>(fault.name = "invalid_client") OR (fault.name = "InvalidClientIdentifier")</Condition>
    </Step>
    <Step>
        <Name>AM-InvalidTokenResponse</Name>
        <Condition>(fault.name = "invalid_access_token")</Condition>
    </Step>
    <Condition>(oauthV2.failed = true) </Condition>
</FaultRule>

خط‌مشی GetOAuthV2Info

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطا را که توسط Edge تنظیم می‌شوند، هنگامی که این خط‌مشی خطا را راه‌اندازی می‌کند، توضیح می‌دهد. این اطلاعات برای دانستن اینکه آیا در حال توسعه قوانین خطا برای رسیدگی به خطاها هستید، مهم است. برای کسب اطلاعات بیشتر، آنچه را که باید در مورد خطاهای خط مشی و مدیریت خطاها بدانید را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای سیاست رخ دهند. نام خطاهای نشان داده شده در زیر رشته هایی هستند که در صورت بروز خطا به متغیر fault.name اختصاص داده می شوند. برای جزئیات بیشتر به بخش متغیرهای خطا در زیر مراجعه کنید.

کد خطا وضعیت HTTP علت
steps.oauth.v2.access_token_expired 500 رمز دسترسی ارسال شده به خط مشی منقضی شده است.
steps.oauth.v2.authorization_code_expired 500 کد مجوز ارسال شده به خط مشی منقضی شده است.
steps.oauth.v2.invalid_access_token 500 رمز دسترسی ارسال شده به خط مشی نامعتبر است.
steps.oauth.v2.invalid_client-invalid_client_id 500 شناسه مشتری ارسال شده به خط مشی نامعتبر است.
steps.oauth.v2.invalid_refresh_token 500 نشانه تازه‌سازی ارسال شده به خط‌مشی نامعتبر است.
steps.oauth.v2.invalid_request-authorization_code_invalid 500 کد مجوز ارسال شده به خط مشی نامعتبر است.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 لطفاً این پست انجمن Apigee را برای اطلاعات در مورد عیب یابی این خطا ببینید.
steps.oauth.v2.refresh_token_expired 500 رمز به‌روزرسانی ارسال شده به خط‌مشی منقضی شده است.

خطاهای استقرار

برای اطلاعات در مورد خطاهای استقرار به پیام گزارش شده در UI مراجعه کنید.

متغیرهای خطا

این متغیرها زمانی تنظیم می شوند که این خط مشی خطایی را در زمان اجرا ایجاد کند.

متغیرها کجا مثال
fault.name=" fault_name " fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. fault.name Matches "IPDeniedAccess"
oauthV2. policy_name .failed policy_name نام سیاستی است که توسط کاربر مشخص شده است که خطا را ایجاد کرده است. oauthV2.GetTokenInfo.failed = true
oauthV2. policy_name .fault.name policy_name نام سیاستی است که توسط کاربر مشخص شده است که خطا را ایجاد کرده است. oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id
oauthV2. policy_name .fault.cause policy_name نام سیاستی است که توسط کاربر مشخص شده است که خطا را ایجاد کرده است. oauthV2.GetTokenInfo.cause = ClientID is Invalid

نمونه پاسخ خطا

{  
   "fault":{  
      "faultstring":"ClientId is Invalid",
      "detail":{  
         "errorcode":"keymanagement.service.invalid_client-invalid_client_id"
      }
   }
}

مثال قانون خطا

<FaultRule name="OAuthV2 Faults">
    <Step>
        <Name>AM-InvalidClientIdResponse</Name>
    </Step>
    <Condition>(fault.name = "invalid_client-invalid_client_id")</Condition>
</FaultRule>

خط‌مشی SetOAuthV2Info

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه می‌دهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP علت
steps.oauth.v2.access_token_expired ۵۰۰ کد دسترسی ارسال‌شده به خط‌مشی منقضی شده است.
steps.oauth.v2.invalid_access_token ۵۰۰ کد دسترسی ارسال‌شده به خط‌مشی نامعتبر است.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 لطفاً برای اطلاعات درباره عیب‌یابی این خطا، این پست «انجمن Apigee» را ببینید.

خطاهای استقرار

برای کسب اطلاعات درباره خطاهای استقرار، به پیامی که در واسط کاربر گزارش شده است مراجعه کنید.

متغیرهای خطا

این متغیرها زمانی تنظیم می‌شوند که این خط‌مشی در زمان اجرا باعث بروز خطا شود.

متغیر مکان مثال
fault.name="fault_name" ‫fault_name نام خطا است، همان‌طور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. fault.name = "invalid_access_token"
oauthV2.policy_name.failed ‫policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. oauthV2.SetTokenInfo.failed = true
oauthV2.policy_name.fault.name ‫policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. oauthV2.SetTokenInfo.fault.name = invalid_access_token
oauthv2.policy_name.fault.cause ‫policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. oauthV2.SetTokenInfo.cause = Invalid Access Token

نمونه پاسخ خطا

{
  "fault": {
    "faultstring": "Invalid Access Token",
    "detail": {
      "errorcode": "keymanagement.service.invalid_access_token"
    }
  }
}

قانون خطای نمونه

<FaultRule name=SetOAuthV2Info Faults">
    <Step>
        <Name>AM-InvalidTokenResponse</Name>
        <Condition>(fault.name = "invalid_access_token")</Condition>
    </Step>
    <Condition>(oauthV2.failed = true) </Condition>
</FaultRule>

خط‌مشی DeleteOAuthV2Info

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه می‌دهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP علت
steps.oauth.v2.invalid_access_token 401 کد دسترسی ارسال‌شده به خط‌مشی نامعتبر است.
steps.oauth.v2.invalid_request-authorization_code_invalid 401 کد مجوز ارسال‌شده به خط‌مشی نامعتبر است.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 لطفاً برای اطلاعات درباره عیب‌یابی این خطا، این پست «انجمن Apigee» را ببینید.

خطاهای استقرار

برای کسب اطلاعات درباره خطاهای استقرار، به پیامی که در واسط کاربر گزارش شده است مراجعه کنید.

متغیرهای خطا

این متغیرها زمانی تنظیم می‌شوند که این خط‌مشی در زمان اجرا باعث بروز خطا شود.

متغیر مکان مثال
fault.name="fault_name" ‫fault_name نام خطا است، همان‌طور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. fault.name = "invalid_access_token"
oauthV2.policy_name.failed ‫policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. oauthV2.DeleteTokenInfo.failed = true
oauthV2.policy_name.fault.name ‫policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. oauthV2.DeleteTokenInfo.fault.name = invalid_access_token
oauthv2.policy_name.fault.cause ‫policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. oauthV2.DeleteTokenInfo.cause = Invalid Access Token

نمونه پاسخ خطا

{
  "fault": {
    "faultstring": "Invalid Access Token",
    "detail": {
      "errorcode": "keymanagement.service.invalid_access_token"
    }
  }
}

قانون خطای نمونه

<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="DeleteOAuthV2Info_Faults">
    <Step>
        <Name>AM-InvalidTokenResponse</Name>
    </Step>
    <Condition>(fault.name = "invalid_access_token")</Condition>
</FaultRule>

خط‌مشی OAuthv1.0a

نوع سیاست OAuthV1 کدهای خطای زیر را تعریف می کند.

برای کدهای خطای HTTP مربوط به OAuth، مرجع پاسخ به خطای OAuth HTTP را ببینید.

کد خطا پیام
AppKeyNotResolved Could not resolve the app key with variable {0}
ConsumerKeyNotResolved Could not resolve the consumer key with variable {0}
RequestTokenNotResolved Could not resolve the request token with the variable {0}
AccessTokenNotResolved Could not resolve the access token with the variable {0}
ResponseGenerationError Error while generating response : {0}
UnableToDetermineOperation Unable to determine an operation for stepDefinition {0}
UnableToResolveOAuthConfig Unable to resolve the OAuth configuration for {0}
AtLeastOneParamRequired At least one of AccessToken, RequestToken or ConsumerKey must be specified in stepDefinition {0}
SpecifyValueOrRefReqToken Specify Request Token as value or ref in stepDefinition {0}
SpecifyValueOrRefAccToken Specify Access Token as value or ref in stepDefinition {0}
SpecifyValueOrRefConKey Specify Consumer Key as value or ref in stepDefinition {0}
SpecifyValueOrRefAppKey Specify App Key as value or ref in stepDefinition {0}
ExpiresInNotApplicableForOperation ExpiresIn element is not valid for operation {0}
InvalidValueForExpiresIn Invalid value for ExpiresIn element for operation {0}
FailedToFetchApiProduct Failed to fetch api product for key {0}
InvalidTokenType Valid token types : {0}, Invalid toke type {1} in stepDefinition {2}
TokenValueRequired Token value is required in stepDefinition {0}
FailedToResolveRealm Failed to resolve realm {0}

خط‌مشی GetOAuthV1Info

هیچ کد خطایی برای خط مشی اطلاعات Get OAuth v1.0a مشخص نشده است.

خط‌مشی DeleteOAuthV1Info

در صورت موفقیت، این خط مشی وضعیت 200 را برمی گرداند.

در صورت خرابی، خط مشی 404 و خروجی مشابه زیر را برمی گرداند (بسته به اینکه آیا یک نشانه دسترسی، رمز درخواست یا تأیید کننده را حذف می کنید).

HTTP/1.1 404 Not Found
Content-Type: application/json
Content-Length: 144
Connection: keep-alive

{"fault":{"faultstring":"Invalid Access Token","detail":{"errorcode":"keymanagement.service.invalid_request-access_token_invalid"}}}

خط‌مشی PythonScript

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای دانستن اینکه آیا قوانین خطایی را برای مدیریت خطاها توسعه می‌دهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP علت رفع اشکال
steps.script.ScriptEvaluationFailed ۵۰۰ خط‌مشی PythonScript می‌تواند چندین نوع مختلف از خطاهای ScriptExecutionFailed را ایجاد کند. انواع خطاهای رایج شامل NameError و ZeroDivisionError می‌شود.

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خط‌مشی را مستقر می‌کنید.

نام خطا علت رفع اشکال
InvalidResourceUrlFormat اگر قالب نشانی وب منبع مشخص‌شده در <ResourceURL> یا عنصر <IncludeURL> خط‌مشی PythonScript نامعتبر باشد، استقرار پراکسی API ناموفق خواهد بود.
InvalidResourceUrlReference اگر عنصر <ResourceURL> یا <IncludeURL> به فایل PythonScript که وجود ندارد اشاره کند، استقرار میانای برنامه‌سازی کاربر API ناموفق خواهد بود. فایل منبع ارجاع‌شده باید در سطح پراکسی API، محیط، یا سازمان وجود داشته باشد.

متغیرهای خطا

این متغیرها زمانی تنظیم می‌شوند که این خط‌مشی در زمان اجرا باعث بروز خطا شود. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانید را ببینید.

متغیر مکان مثال
fault.name="fault_name" ‫fault_name نام خطا است، همان‌طور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. fault.name Matches "ScriptExecutionFailed"
pythonscript.policy_name.failed ‫policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. pythonscript.PythonScript-1.failed = true

نمونه پاسخ خطا

{
  "fault": {
    "faultstring": "Execution of SetResponse failed with error: Pythonscript runtime error: "ReferenceError: "status" is not defined.\"",
    "detail": {
      "errorcode": "steps.script.ScriptExecutionFailed"
    }
  }
}

قانون خطای نمونه

<FaultRule name="PythonScript Policy Faults">
    <Step>
        <Name>AM-CustomErrorResponse</Name>
        <Condition>(fault.name Matches "ScriptExecutionFailed") </Condition>
    </Step>
    <Condition>(pythonscript.PythonScript-1.failed = true) </Condition>
</FaultRule>

خط‌مشی سهمیه

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه می‌دهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP علت رفع اشکال
policies.ratelimit.FailedToResolveQuotaIntervalReference ۵۰۰ اگر عنصر <Interval> در خط‌مشی «سهمیه» تعریف نشده باشد، این خطا رخ می‌دهد. این عنصر الزامی است و برای مشخص کردن بازه زمانی مربوط به سهمیه استفاده می‌شود. فاصله زمانی می‌تواند دقیقه، ساعت، روز، هفته، یا ماه باشد که با عنصر <TimeUnit> تعریف می‌شود.
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference ۵۰۰ اگر عنصر <TimeUnit> در خط‌مشی «سهمیه» تعریف نشده باشد، این خطا رخ می‌دهد. این عنصر الزامی است و برای مشخص کردن واحد زمان قابل‌اعمال برای سهمیه استفاده می‌شود. فاصله زمانی می‌تواند برحسب دقیقه، ساعت، روز، هفته، یا ماه باشد.
policies.ratelimit.InvalidMessageWeight ۵۰۰ اگر مقدار عنصر <MessageWeight> که ازطریق متغیر جاری‌سازی مشخص شده است نامعتبر باشد (مقدار غیرصحیح)، این خطا رخ می‌دهد.
policies.ratelimit.QuotaViolation ۵۰۰ از حد سهمیه فراتر رفته است. موجود نیست

خطاهای استقرار

نام خطا علت رفع اشکال
InvalidQuotaInterval اگر بازه سهمیه مشخص‌شده در عنصر <Interval> عدد صحیح نباشد، پیاده‌سازی پراکسی API ناموفق خواهد بود. برای مثال، اگر فاصله سهمیه مشخص‌شده در عنصر <Interval> برابر با ۰٫۱ باشد، استقرار پراکسی API ناموفق خواهد بود.
InvalidQuotaTimeUnit اگر واحد زمان مشخص‌شده در عنصر <TimeUnit> پشتیبانی نشود، استقرار پراکسی API ناموفق خواهد بود. واحدهای زمان پشتیبانی‌شده عبارت‌اند از minute، hour، day، week، و month.
InvalidQuotaType اگر نوع سهمیه مشخص‌شده توسط مشخصه type در عنصر <Quota> نامعتبر باشد، استقرار پراکسی API ناموفق خواهد بود. انواع سهمیه پشتیبانی‌شده عبارت‌اند از default، calendar، flexi، و rollingwindow.
InvalidStartTime اگر قالب زمان مشخص‌شده در عنصر <StartTime> نامعتبر باشد، استقرار پراکسی API ناموفق خواهد بود. قالب معتبر yyyy-MM-dd HH:mm:ss است، که قالب تاریخ و زمان ISO 8601 است. برای مثال، اگر زمان مشخص‌شده در عنصر <StartTime> 7-16-2017 12:00:00 باشد، استقرار پراکسی API ناموفق خواهد بود.
StartTimeNotSupported اگر عنصر <StartTime> مشخص شده باشد که نوع سهمیه آن از نوع calendar نباشد، استقرار پراکسی API ناموفق خواهد بود. عنصر <StartTime> فقط برای نوع سهمیه calendar پشتیبانی می‌شود. برای مثال، اگر مشخصه type در عنصر <Quota> روی flexi یا rolling window تنظیم شده باشد، استقرار پراکسی API ناموفق خواهد بود.
InvalidTimeUnitForDistributedQuota اگر عنصر <Distributed> روی true تنظیم شده باشد و عنصر <TimeUnit> روی second تنظیم شده باشد، استقرار پراکسی API ناموفق خواهد بود. واحد زمان second برای سهمیه توزیع‌شده نامعتبر است.
InvalidSynchronizeIntervalForAsyncConfiguration اگر مقدار مشخص‌شده برای عنصر <SyncIntervalInSeconds> در عنصر <AsynchronousConfiguration> در خط‌مشی «سهمیه» کمتر از صفر باشد، استقرار پراکسی API ناموفق خواهد بود.
InvalidAsynchronizeConfigurationForSynchronousQuota اگر مقدار عنصر <AsynchronousConfiguration> در خط‌مشی «سهمیه» روی true تنظیم شده باشد، که همچنین پیکربندی ناهم‌زمان بااستفاده از عنصر <AsynchronousConfiguration> تعریف شده باشد، آنگاه استقرار پراکسی API ناموفق خواهد بود.

متغیرهای خطا

این متغیرها زمانی تنظیم می‌شوند که این خط‌مشی باعث ایجاد خطا شود. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدرا ببینید.

متغیر مکان مثال
fault.name="fault_name" ‫fault_name نام خطا است، همان‌طور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. fault.name Matches "QuotaViolation"
ratelimit.policy_name.failed ‫policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. ratelimit.QT-QuotaPolicy.failed = true

نمونه پاسخ خطا

{  
   "fault":{  
      "detail":{  
         "errorcode":"policies.ratelimit.QuotaViolation"
      },
      "faultstring":"Rate limit quota violation. Quota limit  exceeded. Identifier : _default"
   }
}

قانون خطای نمونه

<FaultRules>
    <FaultRule name="Quota Errors">
        <Step>
            <Name>JavaScript-1</Name>
            <Condition>(fault.name Matches "QuotaViolation") </Condition>
        </Step>
        <Condition>ratelimit.Quota-1.failed=true</Condition>
    </FaultRule>
</FaultRules>

خط‌مشی ResetQuota

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه می‌دهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP علت رفع اشکال
policies.resetquota.InvalidRLPolicy ۵۰۰ خط‌مشی «سهمیه» مشخص‌شده در عنصر <Quota> خط‌مشی «بازنشانی سهمیه» در پراکسی API تعریف نشده است و بنابراین درطول جریان دردسترس نیست. عنصر <Quota> الزامی است و خط‌مشی سهمیه هدف را که شمارنده آن باید ازطریق خط‌مشی «بازنشانی سهمیه» به‌روزرسانی شود مشخص می‌کند.
policies.resetquota.FailedToResolveAllowCountRef موجود نیست مرجع متغیر حاوی تعداد مجاز در عنصر <Allow> خط‌مشی نمی‌تواند به مقدار تبدیل شود. این عنصر اجباری است و مقدار کاهش شمارنده سهمیه را مشخص می‌کند.
policies.resetquota.FailedToResolveRLPolicy ۵۰۰ متغیر ارجاع‌داده‌شده توسط مشخصه ref در عنصر <Quota> قابل‌حل نیست.

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خط‌مشی را مستقر می‌کنید.

نام خطا علت رفع اشکال
InvalidCount اگر مقدار شمارش مشخص‌شده در عنصر <Allow> «خط‌مشی بازنشانی سهمیه» عدد صحیح نباشد، استقرار پراکسی API ناموفق خواهد بود.

خط‌مشی RaiseFault

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای زمانی که درحال توسعه قوانین خطا برای مدیریت خطاها هستید مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانید و رسیدگی به خطاها را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP علت
steps.raisefault.RaiseFault ۵۰۰ رشته خطا را ببینید.

خطاهای استقرار

هیچ‌کدام.

متغیرهای خطا

این متغیرها زمانی تنظیم می‌شوند که خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدرا ببینید.

متغیر مکان مثال
fault.name="fault_name" ‫fault_name نام خطا است، همان‌طور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. fault.name = "RaiseFault"
raisefault.policy_name.failed policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. raisefault.RF-ThrowError.failed = true

نمونه پاسخ خطا

{
   "fault":{
      "detail":{
         "errorcode":"steps.raisefault.RaiseFault"
      },
      "faultstring":"Raising fault. Fault name: [name]"
   }
}

خط‌مشی RegularExpressionProtection

این بخش کدهای خطا و پیام‌های برگشتی و متغیرهای خطای تنظیم‌شده توسط Edge را هنگام فعال شدن این خط‌مشی و بروز خطا شرح می‌دهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه می‌دهید یا نه مهم است. اگر می‌خواهید خطایی را ضبط کنید و خطای سفارشی خودتان را ایجاد کنید، ویژگی continueOnError="true" را در عنصر ریشه خط‌مشی تنظیم کنید. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانید و رسیدگی به اشکالات را ببینید.

خطاهای برگشتی از خط‌مشی‌های Edge از قالب یکسانی که در مرجع کد خطا توضیح داده شده است پیروی می‌کنند.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا پیام
ExecutionFailed «تعریف گام» {0} مربوط به «محافظت با عبارت باقاعده» اجرا نشد. دلیل: {۱}
InstantiationFailed ‫RegularExpressionProtection StepDefinition {0} نمونه‌سازی نشد
NonMessageVariable متغیر {0} به «پیام» تبدیل نمی‌شود
SourceMessageNotAvailable پیام {0} برای «تعریف گام» {1} در RegularExpressionProtection دردسترس نیست
ThreatDetected تهدید عبارت باقاعده در {0} شناسایی شد: عبارت باقاعده: {1} ورودی: {2}
VariableResolutionFailed متغیر {0} تجزیه نشد

خطاهای استقرار

کد خطا پیام رفع اشکال
CannotBeConvertedToNodeset ‫RegularExpressionProtection {0}: نتیجه xpath {1} نمی‌تواند به مجموعه گره تبدیل شود. بافت {2}
DuplicatePrefix ‫RegularExpressionProtection {0}: پیشوند تکراری {1}
EmptyJSONPathExpression RegularExpressionProtection {0}: عبارت JSONPath خالی است
EmptyXPathExpression RegularExpressionProtection {0}: عبارت XPath خالی است
InvalidRegularExpression ‫RegularExpressionProtection {0}: عبارت باقاعده نامعتبر {1}، زمینه {2}
JSONPathCompilationFailed RegularExpressionProtection {0}: jsonpath {1} تدوین نشد. بافت {2}
NONEmptyPrefixMappedToEmptyURI RegularExpressionProtection {0}: پیشوند غیرخالی {1} نمی‌تواند به نشانی وب خالی نگاشت شود
NoPatternsToEnforce RegularExpressionProtection {0}: الگویی برای اعمال در {1} وجود ندارد
NothingToEnforce RegularExpressionProtection {0}: حداقل یکی از URIPath،‏ QueryParam،‏ Header، FormParam،‏ XMLPayload،‏ JSONPayload الزامی است
XPathCompilationFailed ‫RegularExpressionProtection {0}: ‏ xpath‏ {1} تدوین نشد. بافت {2}

متغیرهای خطا

این متغیرها زمانی تنظیم می‌شوند که این خط‌مشی باعث ایجاد خطا شود. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدرا ببینید.

متغیر مکان مثال
fault.name="fault_name" ‫fault_name نام خطا است، همان‌گونه که در جدول بالا فهرست شده است. fault.name Matches "ThreatDetected"
regularexpressionprotection.policy_name.failed ‫policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. regularexpressionprotection.Regular-Expressions-Protection-1.failed = true

خط‌مشی SOAPMessageValidation

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه می‌دهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP علت رفع اشکال
steps.messagevalidation.SourceMessageNotAvailable ۵۰۰

این خطا زمانی رخ می‌دهد که متغیری که در عنصر <Source> خط‌مشی مشخص شده است، یکی از موارد زیر باشد:

  • خارج از محدوده (در جریان خاصی که خط‌مشی در آن اجرا می‌شود دردسترس نیست)
  • یا
  • قابل‌حل نیست (تعریف نشده است)
steps.messagevalidation.NonMessageVariable ۵۰۰

این خطا زمانی رخ می‌دهد که عنصر <Source> در خط‌مشی SOAPMessageValidation روی متغیری تنظیم شده باشد که از نوع پیام نباشد.

متغیرهای نوع پیام نشان‌دهنده کل درخواست‌ها و پاسخ‌های HTTP هستند. متغیرهای جریان داخلی Edge request، response، و message از نوع پیام هستند. برای کسب اطلاعات بیشتر درباره متغیرهای پیام، مرجع متغیرها را ببینید.

steps.messagevalidation.Failed ۵۰۰ این خطا زمانی رخ می‌دهد که خط‌مشی SOAPMessageValidation نتواند پیام ورودی بار را دربرابر طرحواره XSD یا تعریف WSDL اعتبارسنجی کند. همچنین اگر JSON یا XML در پیام داده‌برداری بدشکل باشد، این خطا رخ می‌دهد.

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خط‌مشی را مستقر می‌کنید.

نام خطا علت رفع اشکال
InvalidResourceType عنصر <ResourceURL> در خط‌مشی SOAPMessageValidation روی نوع منبعی تنظیم شده است که خط‌مشی پشتیبانی نمی‌کند.
ResourceCompileFailed نوشتار منبع ارجاع‌شده در عنصر <ResourceURL> خط‌مشی SOAPMessageValidation حاوی خطایی است که مانع از ترجمه آن می‌شود.
RootElementNameUnspecified عنصر <Element> در خط‌مشی SOAPMessageValidation نام عنصر ریشه را ندارد.
InvalidRootElementName عنصر <Element> در خط‌مشی SOAPMessageValidation حاوی نام عنصر ریشه‌ای است که از قوانین XML برای نام‌گذاری عنصر معتبر پیروی نمی‌کند.

خط‌مشی SAMLAssertion

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge وقتی این خط‌مشی باعث بروز خطا می‌شود تنظیم می‌کند شرح می‌دهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه می‌دهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خط‌مشی را مستقر می‌کنید.

نام خطا علت رفع اشکال
SourceNotConfigured یک یا چند عنصر از عناصر زیر در خط‌مشی «ادعای SAML را اعتبارسنجی کنید» تعریف نشده یا خالی است: <Source>،‏ <XPath>، <Namespaces>،‏ <Namespace>.
TrustStoreNotConfigured اگر عنصر <TrustStore> خالی باشد یا در خط‌مشی ValidateSAMLAssertion مشخص نشده باشد، استقرار پراکسی API ناموفق خواهد بود. ‫Trust Store معتبر الزامی است.
NullKeyStoreAlias اگر عنصر فرزند <Alias> در عنصر <Keystore> خط‌مشی «تولید ادعای SAML» خالی باشد یا مشخص نشده باشد، استقرار میانای برنامه‌سازی کاربردی با شکست مواجه می‌شود. نام مستعار Keystore معتبر الزامی است.
NullKeyStore اگر عنصر فرزند <Name> خالی باشد یا در عنصر <Keystore> خط‌مشی GenerateSAMLAssertion مشخص نشده باشد، استقرار پراکسی API ناموفق خواهد بود. نام Keystore معتبر الزامی است.
NullIssuer اگر عنصر <Issuer> خالی باشد یا در خط‌مشی «تولید ادعای SAML» مشخص نشده باشد، استقرار پراکسی API ناموفق خواهد بود. مقدار <Issuer> معتبر لازم است.

متغیرهای خطا

این متغیرها زمانی تنظیم می‌شوند که خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدرا ببینید.

متغیر مکان مثال
fault.name="fault_name" ‫fault_name نام گسل است. نام خطا آخرین بخش کد خطا است. fault.name = "InvalidMediaTpe"
GenerateSAMLAssertion.failed برای پیکربندی خط‌مشی ادعای SAML معتبر، پیشوند خطا ValidateSAMLAssertion است. GenerateSAMLAssertion.failed = true

نمونه پاسخ خطا

{
  "fault": {
    "faultstring": "GenerateSAMLAssertion[GenSAMLAssert]: Invalid media type",
    "detail": {
      "errorcode": "steps.saml.generate.InvalidMediaTpe"
    }
  }
}

قانون خطای نمونه

<FaultRules>
    <FaultRule name="invalid_saml_rule">
        <Step>
            <Name>invalid-saml</Name>
        </Step>
        <Condition>(GenerateSAMLAssertion.failed = "true")</Condition>
    </FaultRule>
</FaultRules>

خط‌مشی ServiceCallout

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه می‌دهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP علت رفع اشکال
steps.servicecallout.ExecutionFailed ۵۰۰

این خطا زمانی ممکن است رخ دهد که:

  • از خط‌مشی خواسته می‌شود ورودی‌ای را که قالب آن درست نیست یا به‌صورت دیگری نامعتبر است مدیریت کند.
  • سرویس هدف زیرینه وضعیت خطا را برمی‌گرداند (به‌طور پیش‌فرض، 4xx یا 5xx).
steps.servicecallout.RequestVariableNotMessageType ۵۰۰ متغیر «درخواست» مشخص‌شده در خط‌مشی از نوع «پیام» نیست. برای مثال، اگر رشته یا نوع غیرپیام دیگری باشد، این خطا را خواهید دید.
steps.servicecallout.RequestVariableNotRequestMessageType ۵۰۰ متغیر «درخواست» مشخص‌شده در خط‌مشی از نوع «پیام درخواست» نیست. برای مثال، اگر نوع «پاسخ» باشد، این خطا را خواهید دید.

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خط‌مشی را مستقر می‌کنید.

نام خطا علت رفع اشکال
URLMissing عنصر <URL> در <HTTPTargetConnection> وجود ندارد یا خالی است.
ConnectionInfoMissing این خطا زمانی رخ می‌دهد که خط‌مشی عنصر <HTTPTargetConnection> یا <LocalTargetConnection> نداشته باشد.
InvalidTimeoutValue اگر مقدار <Timeout> منفی یا صفر باشد، این خطا رخ می‌دهد.

متغیرهای خطا

این متغیرها زمانی تنظیم می‌شوند که خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدرا ببینید.

متغیر مکان مثال
fault.name="fault_name" ‫fault_name نام خطا است، همان‌طور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. fault.name = "RequestVariableNotMessageType"
servicecallout.policy_name.failed ‫policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. servicecallout.SC-GetUserData.failed = true

نمونه پاسخ خطا

{  
   "fault":{  
      "detail":{  
         "errorcode":"steps.servicecallout.RequestVariableNotMessageType"
      },
      "faultstring":"ServiceCallout[ServiceCalloutGetMockResponse]: 
            request variable data_str value is not of type Message"
   }
}

قانون خطای نمونه

<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="RequestVariableNotMessageType">
    <Step>
        <Name>AM-RequestVariableNotMessageType</Name>
    </Step>
    <Condition>(fault.name = "RequestVariableNotMessageType")</Condition>
</FaultRule>

خط‌مشی SpikeArrest

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه می‌دهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانید و رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP علت رفع اشکال
policies.ratelimit.FailedToResolveSpikeArrestRate 500 این خطا زمانی رخ می‌دهد که مرجع متغیر حاوی تنظیم نرخ در عنصر <Rate> نتواند به مقداری در خط‌مشی «مهار جهش» تبدیل شود. این عنصر الزامی است و برای تعیین نرخ توقف جهش در قالب intpm یا intps استفاده می‌شود.
policies.ratelimit.InvalidMessageWeight 500 این خطا زمانی رخ می‌دهد که مقدار مشخص‌شده برای عنصر <MessageWeight> ازطریق متغیر جاری نامعتبر باشد (مقدار غیرصحیح).
policies.ratelimit.SpikeArrestViolation 429

از حد مجاز نرخ فراتر رفته است.

توضیح داده شده است تنظیم کنید

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خط‌مشی را مستقر می‌کنید.

نام خطا علت رفع اشکال
InvalidAllowedRate اگر نرخ توقف جهش مشخص‌شده در عنصر <Rate> «خط‌مشی توقف جهش» عدد صحیح نباشد یا اگر نرخ پسوند ps یا pm نداشته باشد، استقرار پراکسی API ناموفق خواهد بود.

متغیرهای خطا

این متغیرها زمانی تنظیم می‌شوند که خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدرا ببینید.

متغیر مکان مثال
fault.name="fault_name" ‫fault_name نام خطا است، همان‌طور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا بخش آخر کد خطا است. fault.name Matches "SpikeArrestViolation"
ratelimit.policy_name.failed ‫policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. ratelimit.SA-SpikeArrestPolicy.failed = true

نمونه پاسخ خطا

در زیر نمونه‌ای از پاسخ خطا نشان داده شده است:

{  
   "fault":{  
      "detail":{  
         "errorcode":"policies.ratelimit.SpikeArrestViolation"
      },
      "faultstring":"Spike arrest violation. Allowed rate : 10ps"
   }
}

قانون خطای نمونه

در زیر نمونه‌ای از قانون خطا برای مدیریت خطای SpikeArrestViolation نشان داده شده است:

<FaultRules>
    <FaultRule name="Spike Arrest Errors">
        <Step>
            <Name>JavaScript-1</Name>
            <Condition>(fault.name Matches "SpikeArrestViolation") </Condition>
        </Step>
        <Condition>ratelimit.Spike-Arrest-1.failed=true</Condition>
    </FaultRule>
</FaultRules>

خط‌مشی StatisticsCollector

این بخش پیام‌های خطا و متغیرهای جریانی را که هنگام فعال شدن این خط‌مشی و بروز خطا تنظیم می‌شوند شرح می‌دهد. اگر درحال توسعه قوانین خطا برای پراکسی هستید، این اطلاعات مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

هیچ‌کدام.

خطاهای استقرار

نام خطا علت رفع اشکال
UnsupportedDatatype اگر نوع متغیر مشخص‌شده توسط مشخصه ref در عنصر <Statistic> خط‌مشی «گردآورنده آمار» پشتیبانی نشود، استقرار پراکسی API ناموفق خواهد بود. انواع داده‌های پشتیبانی‌شده عبارت‌اند از string، integer، float، long، double، و boolean.
InvalidName اگر نام استفاده‌شده برای ارجاع به داده‌های جمع‌آوری‌شده برای متغیر مشخص‌شده تعریف‌شده در عنصر <Statistic> خط‌مشی «جمع‌آورنده آمار» با متغیر تعریف‌شده توسط سیستم تداخل داشته باشد، استقرار پراکسی API ناموفق خواهد بود. برخی‌از متغیرهای تعریف‌شده سیستم شناخته‌شده عبارت‌اند از organization و environment.
DatatypeMissing اگر نوع متغیر مشخص‌شده توسط مشخصه ref در عنصر <Statistic> خط‌مشی «گردآورنده آمار» وجود نداشته باشد، استقرار پراکسی API ناموفق خواهد بود.

متغیرهای خطا

هیچ‌کدام.

خط‌مشی VerifyAPIKey

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه می‌دهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP علت
keymanagement.service.CompanyStatusNotActive 401 «شرکت» مرتبط با «برنامه توسعه‌دهنده» که کلید API مورد استفاده شما را دارد وضعیت غیرفعال دارد. وقتی وضعیت «شرکت» روی غیرفعال تنظیم شود، نمی‌توانید به توسعه‌دهندگان یا برنامه‌های مرتبط با آن «شرکت» دسترسی داشته باشید. سرپرست سازمان می‌تواند وضعیت «شرکت» را بااستفاده از میانای برنامه‌سازی کاربردی مدیریت تغییر دهد. تنظیم وضعیت شرکت را ببینید.
keymanagement.service.DeveloperStatusNotActive 401

توسعه‌دهنده‌ای که «برنامه توسعه‌دهنده» دارای کلید میانای برنامه‌سازی کاربردی مورد استفاده شما را ایجاد کرده است وضعیت غیرفعال دارد. وقتی وضعیت «توسعه‌دهنده نرم‌افزار» روی غیرفعال تنظیم شود، همه «برنامه‌های توسعه‌دهنده» ایجادشده توسط آن توسعه‌دهنده غیرفعال می‌شوند. کاربر سرپرست با اجازه‌های مناسب (مثل «سرپرست سازمان») می‌تواند وضعیت توسعه‌دهنده را به روش‌های زیر تغییر دهد:

keymanagement.service.invalid_client-app_not_approved 401 «برنامه توسعه‌دهنده» مرتبط با کلید میانای برنامه‌سازی کاربردی باطل شده است. برنامه لغوشده نمی‌تواند به هیچ‌یک از محصولات API دسترسی داشته باشد و نمی‌تواند هیچ‌یک از APIهای مدیریت‌شده توسط Apigee Edge را فراخوانی کند. سرپرست سازمان می‌تواند وضعیت «برنامه توسعه‌دهنده» را بااستفاده از API مدیریت تغییر دهد. تأیید یا لغو برنامه توسعه‌دهنده را ببینید.
oauth.v2.FailedToResolveAPIKey 401 خط‌مشی انتظار دارد کلید API را در متغیری که در عنصر <APIKey> خط‌مشی مشخص شده است پیدا کند. این خطا زمانی رخ می‌دهد که متغیر موردانتظار وجود نداشته باشد (قابل‌حل نباشد).
oauth.v2.InvalidApiKey 401 کلید میانای برنامه‌سازی کاربردی توسط Edge دریافت شد، اما نامعتبر است. وقتی Edge کلید را در پایگاه داده خود جستجو می‌کند، باید دقیقاً با کلیدی که در درخواست ارسال شده مطابقت داشته باشد. اگر میانای برنامه‌سازی کاربردی قبلاً کار می‌کرد، مطمئن شوید کلید بازتولید نشده باشد. اگر کلید بازتولید شده باشد، اگر بخواهید از کلید قدیمی استفاده کنید، این خطا را خواهید دید. برای جزئیات، ثبت برنامه‌ها و مدیریت کلیدهای میانای برنامه‌سازی کاربردی را ببینید.
oauth.v2.InvalidApiKeyForGivenResource 401 کلید میانای برنامه‌سازی کاربردی توسط Edge دریافت شده است و معتبر است؛ بااین‌حال، با کلید تأییدشده در «برنامه توسعه‌دهنده» منسوب به پراکسی میانای برنامه‌سازی کاربردی شما ازطریق «محصول» مطابقت ندارد.

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خط‌مشی را مستقر می‌کنید.

نام خطا علت
SpecifyValueOrRefApiKey عنصر <APIKey> مقدار یا کلید مشخص‌شده‌ای ندارد.

متغیرهای خطا

این متغیرها زمانی تنظیم می‌شوند که خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدرا ببینید.

متغیر مکان مثال
fault.name="fault_name" ‫fault_name نام خطا است، همان‌طور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. fault.name Matches "FailedToResolveAPIKey"
oauthV2.policy_name.failed ‫policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. oauthV2.VK-VerifyAPIKey.failed = true

نمونه پاسخ‌های خطا

{
   "fault":{
      "faultstring":"Invalid ApiKey",
      "detail":{
         "errorcode":"oauth.v2.InvalidApiKey"
      }
   }
}
{
   "fault":{
      "detail":{
         "errorcode":"keymanagement.service.DeveloperStatusNotActive"
      },
      "faultstring":"Developer Status is not Active"
   }
}

قانون خطای نمونه

<FaultRule name="FailedToResolveAPIKey">
    <Step>
        <Name>AM-FailedToResolveAPIKey</Name>
    </Step>
    <Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition>
</FaultRule>

خط‌مشی VerifyJWS

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه می‌دهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP وقتی رخ می‌دهد
steps.jws.AlgorithmInTokenNotPresentInConfiguration 401 زمانی رخ می‌دهد که خط‌مشی درستی‌سنجی دارای چندین الگوریتم باشد
steps.jws.AlgorithmMismatch 401 الگوریتم مشخص‌شده در سرایند توسط خط‌مشی «تولید» با الگوریتم موردانتظار در خط‌مشی «درستی‌سنجی» مطابقت نداشت. الگوریتم‌های مشخص‌شده باید مطابقت داشته باشند.
steps.jws.ContentIsNotDetached 401 وقتی JWS حاوی بار محتوای جداشده نباشد، <DetachedContent> مشخص می‌شود.
steps.jws.FailedToDecode 401 خط‌مشی نتوانست JWS را رمزگشایی کند. ‫JWS احتمالاً خراب است.
steps.jws.InsufficientKeyLength 401 برای کلید کمتر از ۳۲ بایت برای الگوریتم HS256
steps.jws.InvalidClaim 401 برای ادعای مالکیت گم‌شده یا عدم تطابق ادعای مالکیت، یا سرایند گم‌شده یا عدم تطابق سرایند.
steps.jws.InvalidCurve 401 منحنی مشخص‌شده توسط کلید برای الگوریتم «منحنی بیضوی» معتبر نیست.
steps.jws.InvalidJsonFormat 401 ‫JSON نامعتبر در سرایند JWS پیدا شد.
steps.jws.InvalidJws 401 این خطا زمانی رخ می‌دهد که درستی‌سنجی امضای JWS ناموفق باشد.
steps.jws.InvalidPayload 401 بار JWS نامعتبر است.
steps.jws.InvalidSignature 401 <DetachedContent> حذف شده است و JWS دارای پایه‌بار محتوای جداشده است.
steps.jws.KeyIdMissing 401 خط‌مشی «درستی‌سنجی» از JWKS به‌عنوان منبع کلیدهای عمومی استفاده می‌کند، اما JWS امضاشده دارای دارایی kid در سرایند نیست.
steps.jws.KeyParsingFailed 401 کلید عمومی از اطلاعات کلید ارائه‌شده تجزیه نشد.
steps.jws.MissingPayload 401 بار JWS وجود ندارد.
steps.jws.NoAlgorithmFoundInHeader 401 وقتی JWS سرایند الگوریتم را حذف می‌کند رخ می‌دهد.
steps.jws.NoMatchingPublicKey 401 خط‌مشی «درستی‌سنجی» از JWKS به‌عنوان منبع کلیدهای عمومی استفاده می‌کند، اما kid در JWS امضاشده در JWKS فهرست نشده است.
steps.jws.UnhandledCriticalHeader 401 سرایندی که خط‌مشی «درستی‌سنجی JWS» در سرایند crit پیدا کرده است در KnownHeaders فهرست نشده است.
steps.jws.UnknownException 401 استثنای ناشناخته‌ای روی داد.
steps.jws.WrongKeyType 401 نوع کلید مشخص‌شده اشتباه است. برای مثال، اگر کلید RSA را برای الگوریتم «منحنی بیضوی» یا کلید منحنی را برای الگوریتم RSA مشخص کنید.

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خط‌مشی را مستقر می‌کنید.

نام خطا وقتی رخ می‌دهد
InvalidAlgorithm تنها مقادیر معتبر عبارت‌اند از: RS256،‏ RS384،‏ RS512،‏ PS256،‏ PS384،‏ PS512،‏ ES256،‏ ES384،‏ ES512، HS256،‏ HS384،‏ HS512.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

سایر خطاهای احتمالی استقرار.

متغیرهای خطا

این متغیرها زمانی تنظیم می شوند که یک خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.

متغیرها کجا مثال
fault.name=" fault_name " fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. fault.name Matches "TokenExpired"
JWS.failed همه خط مشی های JWS در صورت خرابی یک متغیر را تنظیم می کنند. jws.JWS-Policy.failed = true

نمونه پاسخ خطا

برای رسیدگی به خطا، بهترین روش به دام انداختن قسمت errorcode در پاسخ به خطا است. به متن موجود در faultstring تکیه نکنید، زیرا ممکن است تغییر کند.

مثال قانون خطا

<FaultRules>
    <FaultRule name="JWS Policy Errors">
        <Step>
            <Name>JavaScript-1</Name>
            <Condition>(fault.name Matches "TokenExpired")</Condition>
        </Step>
        <Condition>JWS.failed=true</Condition>
    </FaultRule>
</FaultRules>

خط‌مشی VerifyJWT

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای زمانی که درحال توسعه قوانین خطا برای مدیریت خطاها هستید مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانید و رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP وقتی رخ می‌دهد
steps.jwt.AlgorithmInTokenNotPresentInConfiguration 401 زمانی رخ می‌دهد که خط‌مشی درستی‌سنجی دارای چندین الگوریتم باشد.
steps.jwt.AlgorithmMismatch 401 الگوریتم مشخص‌شده در خط‌مشی «تولید» با الگوریتم موردانتظار در خط‌مشی «تأیید» مطابقت نداشت. الگوریتم‌های مشخص‌شده باید مطابقت داشته باشند.
steps.jwt.FailedToDecode 401 خط‌مشی نتوانست JWT را رمزگشایی کند. ‫JWT احتمالاً خراب است.
steps.jwt.GenerationFailed 401 خط‌مشی نتوانست JWT را تولید کند.
steps.jwt.InsufficientKeyLength 401 برای کلیدی کمتر از ۳۲ بایت برای الگوریتم HS256، کمتر از ۴۸ بایت برای الگوریتم HS386، و کمتر از ۶۴ بایت برای الگوریتم HS512.
steps.jwt.InvalidClaim 401 برای ادعای مالکیت گم‌شده یا عدم تطابق ادعای مالکیت، یا سرایند گم‌شده یا عدم تطابق سرایند.
steps.jwt.InvalidCurve 401 منحنی مشخص‌شده توسط کلید برای الگوریتم «منحنی بیضوی» معتبر نیست.
steps.jwt.InvalidJsonFormat 401 ‫JSON نامعتبر در سرایند یا پایه‌بار پیدا شد.
steps.jwt.InvalidToken 401 این خطا زمانی رخ می‌دهد که درستی‌سنجی امضای JWT ناموفق باشد.
steps.jwt.JwtAudienceMismatch 401 ادعای مخاطب در درستی‌سنجی نمودار ناموفق بود.
steps.jwt.JwtIssuerMismatch 401 ادعای صادرکننده در درستی‌سنجی نمودار ناموفق بود.
steps.jwt.JwtSubjectMismatch 401 ادعای موضوع در درستی‌سنجی نمودار اصالت‌سنجی ناموفق بود.
steps.jwt.KeyIdMissing 401 خط‌مشی «درستی‌سنجی» از JWKS به‌عنوان منبع کلیدهای عمومی استفاده می‌کند، اما JWT امضاشده شامل دارایی kid در سرایند نیست.
steps.jwt.KeyParsingFailed 401 کلید عمومی از اطلاعات کلید ارائه‌شده تجزیه نشد.
steps.jwt.NoAlgorithmFoundInHeader 401 زمانی رخ می‌دهد که JWT سرصفحه الگوریتم نداشته باشد.
steps.jwt.NoMatchingPublicKey 401 خط‌مشی «درستی‌سنجی» از JWKS به‌عنوان منبع کلیدهای عمومی استفاده می‌کند، اما kid در JWT امضاشده در JWKS فهرست نشده است.
steps.jwt.SigningFailed 401 در GenerateJWT، برای کلیدی که کمتر از اندازه حداقل برای الگوریتم‌های HS384 یا HS512 است
steps.jwt.TokenExpired 401 خط‌مشی سعی می‌کند یک کد منقضی‌شده را درستی‌سنجی کند.
steps.jwt.TokenNotYetValid 401 کد هنوز معتبر نیست.
steps.jwt.UnhandledCriticalHeader 401 سرایندی که خط‌مشی «درستی‌سنجی JWT» در سرایند crit پیدا کرده است در KnownHeaders فهرست نشده است.
steps.jwt.UnknownException 401 استثنای ناشناخته‌ای روی داد.
steps.jwt.WrongKeyType 401 نوع کلید مشخص‌شده اشتباه است. برای مثال، اگر کلید RSA را برای الگوریتم «منحنی بیضوی» یا کلید منحنی را برای الگوریتم RSA مشخص کنید.

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خط‌مشی را مستقر می‌کنید.

نام خطا علت رفع اشکال
InvalidNameForAdditionalClaim اگر ادعای استفاده‌شده در عنصر فرزند <Claim> عنصر <AdditionalClaims> یکی از نام‌های ثبت‌شده زیر باشد، استقرار ناموفق خواهد بود: kid، iss، sub، aud، iat، exp، nbf، یا jti.
InvalidTypeForAdditionalClaim اگر ادعای استفاده‌شده در عنصر فرزند <Claim> عنصر <AdditionalClaims> از نوع string، number، boolean، یا map نباشد، استقرار ناموفق خواهد بود.
MissingNameForAdditionalClaim اگر نام ادعا در عنصر فرزند <Claim> عنصر <AdditionalClaims> مشخص نشده باشد، استقرار ناموفق خواهد بود.
InvalidNameForAdditionalHeader این خطا زمانی رخ می‌دهد که نام ادعای استفاده‌شده در عنصر فرزند <Claim> عنصر <AdditionalClaims> یا alg یا typ باشد.
InvalidTypeForAdditionalHeader اگر نوع ادعای استفاده‌شده در عنصر فرزند <Claim> عنصر <AdditionalClaims> از نوع string، number، boolean، یا map نباشد، استقرار ناموفق خواهد بود.
InvalidValueOfArrayAttribute این خطا زمانی رخ می‌دهد که مقدار مشخصه آرایه در عنصر فرزند <Claim> عنصر <AdditionalClaims> روی true یا false تنظیم نشده باشد.
InvalidValueForElement اگر مقدار مشخص‌شده در عنصر <Algorithm> مقدار پشتیبانی‌شده‌ای نباشد، استقرار ناموفق خواهد بود.
MissingConfigurationElement اگر عنصر <PrivateKey> با الگوریتم‌های خانواده RSA استفاده نشود یا عنصر <SecretKey> با الگوریتم‌های خانواده HS استفاده نشود، این خطا رخ می‌دهد.
InvalidKeyConfiguration اگر عنصر فرزند <Value> در عناصر <PrivateKey> یا <SecretKey> تعریف نشده باشد، استقرار ناموفق خواهد بود.
EmptyElementForKeyConfiguration اگر مشخصه ref عنصر فرزند <Value> عنصر <PrivateKey> یا <SecretKey> خالی یا نامشخص باشد، استقرار ناموفق خواهد بود.
InvalidConfigurationForVerify این خطا زمانی رخ می‌دهد که عنصر <Id> در عنصر <SecretKey> تعریف شده باشد.
InvalidEmptyElement اگر عنصر <Source> خط‌مشی «درستی‌سنجی JWT» خالی باشد، این خطا رخ می‌دهد. اگر وجود داشته باشد، باید با نام متغیر جریان Edge تعریف شود.
InvalidPublicKeyValue اگر مقدار استفاده‌شده در عنصر فرزند <JWKS> عنصر <PublicKey> از قالب معتبری که در RFC 7517 مشخص شده است استفاده نکند، استقرار ناموفق خواهد بود.
InvalidConfigurationForActionAndAlgorithm اگر عنصر <PrivateKey> با الگوریتم‌های «خانواده HS» استفاده شود یا عنصر <SecretKey> با الگوریتم‌های «خانواده RSA» استفاده شود، استقرار ناموفق خواهد بود.

متغیرهای خطا

این متغیرها زمانی تنظیم می شوند که یک خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، به آنچه باید در مورد خطاهای خط مشی بدانید مراجعه کنید.

متغیرها کجا مثال
fault.name=" fault_name " fault_name نام خطا است، همانطور که در جدول خطاهای Runtime در بالا ذکر شده است. نام خطا آخرین قسمت کد خطا است. fault.name Matches "TokenExpired"
JWT.failed همه خط مشی های JWT متغیرهای یکسانی را در صورت خرابی تنظیم می کنند. JWT.failed = true

نمونه پاسخ خطا

کدهای خطای خط مشی JWT

برای رسیدگی به خطا، بهترین روش به دام انداختن قسمت errorcode در پاسخ به خطا است. به متن موجود در faultstring تکیه نکنید، زیرا ممکن است تغییر کند.

مثال قانون خطا

    <FaultRules>
        <FaultRule name="JWT Policy Errors">
            <Step>
                <Name>JavaScript-1</Name>
                <Condition>(fault.name Matches "TokenExpired")</Condition>
            </Step>
            <Condition>JWT.failed=true</Condition>
        </FaultRule>
    </FaultRules>
    

خط‌مشی XMLThreatProtection

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه می‌دهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP علت رفع اشکال
steps.xmlthreatprotection.ExecutionFailed ۵۰۰ خط‌مشی XMLThreatProtection می‌تواند انواع مختلفی از خطاهای ExecutionFailed را ایجاد کند. بیشتر این خطاها زمانی رخ می‌دهند که از آستانه مشخص‌شده در خط‌مشی فراتر رفته باشید. این انواع خطاها شامل موارد زیر است: طول نام عنصر، تعداد فرزند، عمق گره، تعداد مشخصه، طول نام مشخصه، و بسیاری موارد دیگر. می‌توانید فهرست کامل را در موضوع عیب‌یابی خطای زمان اجرای خط‌مشی XMLThreatProtection ببینید.
steps.xmlthreatprotection.InvalidXMLPayload ۵۰۰ این خطا زمانی رخ می‌دهد که بار پیام ورودی مشخص‌شده توسط عنصر <Source> خط‌مشی XMLThreatProtection یک «سند زبان نشانه‌گذاری توسعه‌پذیر» معتبر نباشد.
steps.xmlthreatprotection.SourceUnavailable ۵۰۰ این خطا زمانی رخ می‌دهد که متغیر پیام مشخص‌شده در عنصر <Source> یکی از موارد زیر باشد:
  • خارج از محدوده (در جریان خاصی که خط‌مشی در آن اجرا می‌شود دردسترس نیست)
  • یکی از مقادیر معتبر request، response، یا message نیست
steps.xmlthreatprotection.NonMessageVariable ۵۰۰ اگر عنصر <Source> روی متغیری تنظیم شده باشد که از نوع پیام نباشد، این خطا روی می‌دهد.

نکته‌ها:

  • نام خطای ExecutionFailed نام خطای پیش‌فرض است و صرف‌نظر از نوع خطای شناسایی‌شده برگردانده می‌شود؛ بااین‌حال، این پیش‌فرض را می‌توان با تنظیم دارایی سطح سازمان تغییر داد. وقتی این دارایی تنظیم می‌شود، نام خطا نشان‌دهنده خطای واقعی خواهد بود. برای مثال، «TextExceeded» یا «AttrValueExceeded». برای جزئیات، یادداشت‌های استفاده را ببینید.
  • وضعیت ۵۰۰ اچ‌تی‌تی‌پی پیش‌فرض است؛ بااین‌حال، با تنظیم دارایی سطح سازمان، وضعیت اچ‌تی‌تی‌پی می‌تواند برای خطاهای جاری درخواست به ۴۰۰ تغییر کند. برای جزئیات، یادداشت‌های استفاده را ببینید.

خطاهای استقرار

هیچ‌کدام.

متغیرهای خطا

این متغیرها زمانی تنظیم می‌شوند که خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدرا ببینید.

متغیر مکان مثال
fault.name="fault_name" ‫fault_name نام خطا است، همان‌طور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. fault.name Matches "SourceUnavailable"
xmlattack.policy_name.failed ‫policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. xmlattack.XPT-SecureRequest.failed = true

نمونه پاسخ خطا

{
  "fault": {
    "faultstring": "XMLThreatProtection[XPT-SecureRequest]: Execution failed. reason: XMLThreatProtection[XTP-SecureRequest]: Exceeded object entry name length at line 2",
    "detail": {
      "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
    }
  }
}

قانون خطای نمونه

<FaultRule name="XML Threat Protection Policy Faults">
    <Step>
        <Name>AM-CustomErrorResponse</Name>
        <Condition>(fault.name Matches "ExecutionFailed") </Condition>
    </Step>
    <Condition>(xmlattack.XPT-SecureRequest.failed = true) </Condition>
</FaultRule>

خط‌مشی XMLtoJSON

این بخش کدهای خطا و پیام‌های خطایی را که برگردانده می‌شوند و متغیرهای خطایی را که Edge هنگام راه‌اندازی خطا در این خط‌مشی تنظیم می‌کند شرح می‌دهد. این اطلاعات برای دانستن اینکه آیا قوانین خطا را برای مدیریت خطاها توسعه می‌دهید یا نه مهم است. برای کسب اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدو رسیدگی به اشکالات را ببینید.

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP علت رفع اشکال
steps.xmltojson.ExecutionFailed ۵۰۰ این خطا زمانی رخ می‌دهد که بار ورودی (XML) خالی باشد یا XML ورودی نامعتبر یا بدشکل باشد.
steps.xmltojson.InCompatibleType ۵۰۰ این خطا زمانی رخ می‌دهد که نوع متغیر تعریف‌شده در عنصر <Source> و عنصر <OutputVariable> یکسان نباشد. الزامی است که نوع متغیرهای موجود در عنصر <Source> و عنصر <OutputVariable> مطابقت داشته باشد.
steps.xmltojson.InvalidSourceType ۵۰۰ این خطا زمانی رخ می‌دهد که نوع متغیر استفاده‌شده برای تعریف عنصر <Source> نامعتبر باشد.انواع معتبر متغیر عبارت‌اند از پیام و رشته.
steps.xmltojson.OutputVariableIsNotAvailable ۵۰۰ این خطا زمانی رخ می‌دهد که متغیر مشخص‌شده در عنصر <Source> از XML به خط‌مشی JSON از نوع رشته باشد و عنصر <OutputVariable> تعریف نشده باشد. وقتی متغیر تعریف‌شده در عنصر <Source> از نوع رشته باشد، عنصر <OutputVariable> اجباری است.
steps.xmltojson.SourceUnavailable ۵۰۰ این خطا زمانی رخ می‌دهد که متغیر پیام مشخص‌شده در عنصر <Source> خط‌مشی XML به JSON یکی از موارد زیر باشد:
  • خارج از محدوده (در جریان خاصی که خط‌مشی در آن اجرا می‌شود دردسترس نیست) یا
  • قابل‌حل نیست (تعریف نشده است)

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خط‌مشی را مستقر می‌کنید.

نام خطا علت رفع اشکال
EitherOptionOrFormat اگر یکی از عناصر <Options> یا <Format> در «خط‌مشی XML به JSON» اعلام نشده باشد، استقرار پراکسی API ناموفق خواهد بود.
UnknownFormat اگر عنصر <Format> در خط‌مشی XML به JSON قالب ناشناخته‌ای داشته باشد، استقرار پراکسی API ناموفق خواهد بود. قالب‌های ازپیش تعریف‌شده شامل: xml.com، yahoo، google، و badgerFish می‌شود.

متغیرهای خطا

این متغیرها زمانی تنظیم می‌شوند که خطای زمان اجرا رخ دهد. برای اطلاعات بیشتر، آنچه باید درباره خطاهای خط‌مشی بدانیدرا ببینید.

متغیر مکان مثال
fault.name="fault_name" ‫fault_name نام خطا است، همان‌طور که در جدول خطاهای زمان اجرا در بالا فهرست شده است. نام خطا آخرین بخش کد خطا است. fault.name = "SourceUnavailable"
xmltojson.policy_name.failed ‫policy_name نام مشخص‌شده کاربر برای خط‌مشی‌ای است که خطا را ایجاد کرده است. xmltojson.XMLtoJSON-1.failed = true

نمونه پاسخ خطا

{
  "fault": {
    "faultstring": "XMLToJSON[XMLtoJSON-1]: Source xyz is not available",
    "detail": {
      "errorcode": "steps.xml2json.SourceUnavailable"
    }
  }
}

قانون خطای نمونه

<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="XML to JSON Faults">
    <Step>
        <Name>AM-SourceUnavailableMessage</Name>
        <Condition>(fault.name Matches "SourceUnavailable") </Condition>
    </Step>
    <Step>
        <Name>AM-BadXML</Name>
        <Condition>(fault.name = "ExecutionFailed")</Condition>
    </Step>
    <Condition>(xmltojson.XMLtoJSON-1.failed = true) </Condition>
</FaultRule>

خط‌مشی XSLTransform

خطاهای زمان اجرا

این خطاها ممکن است هنگام اجرای خط‌مشی رخ دهند.

کد خطا وضعیت HTTP علت رفع اشکال
steps.xsl.XSLSourceMessageNotAvailable ۵۰۰ این خطا زمانی رخ می‌دهد که متغیر رشته یا پیام مشخص‌شده در عنصر <Source> خط‌مشی «تبدیل XSL» خارج از محدوده باشد (در جریان خاصی که خط‌مشی در آن اجرا می‌شود دردسترس نباشد) یا قابل‌حل نباشد (تعریف نشده باشد).
steps.xsl.XSLEvaluationFailed ۵۰۰ این خطا زمانی رخ می‌دهد که بار XML ورودی دردسترس نباشد/بدشکل باشد یا خط‌مشی XSLTransform براساس قوانین تبدیل ارائه‌شده در فایل XSL نتواند فایل XML ورودی را تبدیل کند/نتواند تبدیل کند. دلایل مختلفی می‌تواند باعث شود خط‌مشی XSLTransform با خطا مواجه شود. دلیل عدم موفقیت در پیام خطا اطلاعات بیشتری درباره علت ارائه خواهد داد.

خطاهای استقرار

این خطاها ممکن است زمانی رخ دهند که یک پراکسی حاوی این خط‌مشی را مستقر می‌کنید.

نام خطا علت رفع اشکال
XSLEmptyResourceUrl اگر عنصر <ResourceURL> در خط‌مشی «تبدیل XSL» خالی باشد، استقرار پراکسی API ناموفق خواهد بود.
XSLInvalidResourceType اگر نوع منبع مشخص‌شده در عنصر <ResourceURL> خط‌مشی «تبدیل XSL» از نوع xsl نباشد، استقرار پراکسی API ناموفق خواهد بود.