הסבר על שגיאות מדיניות

כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של Apigee X.
מידע

מדיניות בקרת גישה

בקטע הזה מתוארים קודי השגיאה והודעות השגיאה שהוחזרו, ומשתני התקלה שמוגדרים על ידי 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] לא רלוונטי סוג הישות שנעשה בו שימוש חייב להיות אחד מהסוגים הנתמכים.

המדיניות של assignMessage

בקטע הזה מתוארים קודי השגיאה והודעות השגיאה שמוחזרים, ומשתני השגיאה שמוגדרים על ידי Edge כשהמדיניות הזו מפעילה שגיאה. חשוב לדעת את המידע הזה אם אתם מפתחים כללי תקלות לטיפול בתקלות. מידע נוסף זמין במאמרים מידע שחשוב לדעת על שגיאות מדיניות וטיפול בכשלים.

שגיאות זמן ריצה

השגיאות האלה יכולות להתרחש כשהמדיניות מופעלת.

קוד תקלה סטטוס HTTP סיבה תיקון
steps.assignmessage.SetVariableFailed 500 המדיניות לא הצליחה להגדיר משתנה. שם המשתנה שלא נפתר מופיע במחרוזת השגיאה.
steps.assignmessage.VariableOfNonMsgType 500

השגיאה הזו מתרחשת אם המאפיין source ברכיב <Copy> מוגדר למשתנה שאינו מסוג message.

משתני סוג ההודעה מייצגים בקשות HTTP ותגובות HTTP שלמות. משתני התהליך המובנים של Edge‏ request,‏ response ו-message הם מסוג message. מידע נוסף על משתני הודעות זמין בחומר העזר בנושא משתנים.

steps.assignmessage.UnresolvedVariable 500

השגיאה הזו מתקבלת אם המשתנה שצוין במדיניות 'הקצאת הודעה' הוא:

  • מחוץ להיקף (לא זמין בתהליך הספציפי שבו המדיניות מתבצעת)
  • או
  • לא ניתן לפתור (לא מוגדר)

שגיאות בפריסה

השגיאות האלה עשויות להתרחש כאשר פורסים שרת proxy שמכיל את המדיניות הזו.

שם השגיאה סיבה תיקון
InvalidIndex אם האינדקס שצוין ברכיבים <Copy> ו/או <Remove> של מדיניות הקצאת ההודעות הוא 0 או מספר שלילי, הפריסה של שרת ה-API proxy תיכשל.
InvalidVariableName אם רכיב הצאצא <Name> ריק או לא צוין ברכיב <AssignVariable>, הפריסה של שרת ה-proxy ל-API נכשלת כי אין שם משתנה תקין שאפשר להקצות לו ערך. צריך להזין שם משתנה חוקי.
InvalidPayload מטען ייעודי (payload) שצוין במדיניות אינו חוקי.

משתני תקלה

המשתנים האלה מוגדרים כשהמדיניות הזו מפעילה שגיאה בזמן הריצה. מידע נוסף זמין במאמר מה צריך לדעת לגבי שגיאות מדיניות.

משתנים איפה דוגמה
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="VariableOfNonMsgType"></faultrule><FaultRule name="Assign Message Faults">
    <Step>
        <Name>AM-CustomNonMessageTypeErrorResponse</Name>
        <Condition>(fault.name Matches "VariableOfNonMsgType") </Condition>
    </Step>
    <Step>
        <Name>AM-CustomSetVariableErrorResponse</Name>
        <Condition>(fault.name = "SetVariableFailed")</Condition>
    </Step>
    <Condition>(assignmessage.failed = true) </Condition>
</FaultRule>

המדיניות BasicAuthentication

בקטע הזה מתוארים קודי השגיאה והודעות השגיאה שמוחזרים, ומשתני השגיאה שמוגדרים על ידי Edge כשהמדיניות הזו מפעילה שגיאה. חשוב לדעת את המידע הזה אם אתם מפתחים כללי תקלה לטיפול בשגיאות. מידע נוסף זמין במאמרים מידע שחשוב לדעת על שגיאות מדיניות וטיפול בכשלים.

שגיאות זמן ריצה

השגיאות האלה יכולות להתרחש כשהמדיניות מופעלת.

קוד תקלה סטטוס HTTP סיבה תיקון
steps.basicauthentication.InvalidBasicAuthenticationSource 500 בפענוח, כשהמחרוזת הנכנסת בקידוד Base64 לא מכילה ערך תקין או שהכותרת לא תקינה (למשל, היא לא מתחילה ב-'Basic').
steps.basicauthentication.UnresolvedVariable 500 משתני המקור הנדרשים לפענוח או לקידוד לא נמצאים. השגיאה הזו יכולה להתרחש רק אם הערך של IgnoreUnresolvedVariables הוא false.

שגיאות בפריסה

השגיאות האלו עשויות להתרחש כאשר פורסים שרת proxy שמכיל את המדיניות הזו.

שם השגיאה מתרחש כאשר תיקון
UserNameRequired הרכיב <User> חייב להיכלל בפעולה בעלת השם.
PasswordRequired הרכיב <Password> חייב להופיע בפעולה בעלת השם.
AssignToRequired הרכיב <AssignTo> חייב להופיע בפעולה בעלת השם.
SourceRequired הרכיב <Source> חייב להופיע בפעולה בעלת השם.

משתני תקלה

המשתנים האלה מוגדרים כשמתרחשת שגיאה בסביבת זמן הריצה. מידע נוסף זמין במאמר מה צריך לדעת לגבי שגיאות מדיניות.

משתנים איפה דוגמה
fault.name="fault_name" fault_name הוא שם השגיאה, כפי שמופיע בטבלה שגיאות זמן ריצה שלמעלה. שם השגיאה הוא החלק האחרון בקוד השגיאה. fault.name Matches "UnresolvedVariable"
BasicAuthentication.policy_name.failed policy_name הוא השם שהמשתמש ציין למדיניות שהפעילה את השגיאה. BasicAuthentication.BA-Authenticate.failed = true

דוגמה לתגובת שגיאה

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

דוגמה לכלל תקלה

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

מדיניות ConcurrentRateLimit

בקטע הזה מתוארים קודי השגיאה והודעות השגיאה שמוחזרים, ומשתני השגיאה שמוגדרים על ידי Edge כשהמדיניות הזו מפעילה שגיאה. חשוב לדעת את המידע הזה אם אתם מפתחים כללי תקלה לטיפול בשגיאות. מידע נוסף זמין במאמרים מידע שחשוב לדעת על שגיאות מדיניות וטיפול בכשלים.

שגיאות זמן ריצה

השגיאות האלה יכולות להתרחש כשהמדיניות מופעלת.

קוד השגיאה סטטוס HTTP מתרחש כאשר
policies.concurrentratelimit.ConcurrentRatelimtViolation 503

חרגת ממגבלת החיבור של ConcurrentRatelimit. מגבלת החיבורים : {0}

הערה: קוד השגיאה שמוצג בצד ימין תקין, אבל יש בו שגיאת איות (limt). חשוב להשתמש בקוד בדיוק כפי שמוצג כאן כשאתם יוצרים כללי תקלה כדי ללכוד את השגיאה הזו.

שגיאות בפריסה

שם השגיאה מתרחש כאשר
InvalidCountValue צוין ערך לא חוקי של ספירה ב-ConcurrentRatelimit.
ConcurrentRatelimitStepAttachment\
NotAllowedAtProxyEndpoint
אסור לצרף את המדיניות {0} של Ratelimit בו-זמנית לנתיבים של בקשות, תגובות או שגיאות בשרת proxy. צריך להציב את המדיניות הזו בנקודת הקצה של היעד.
ConcurrentRatelimitStepAttachment\
MissingAtTargetEndpoint
חסרה הקובץ המצורף {0} של מדיניות Ratelimit בו-זמנית בנתיבים של בקשות/תשובות/שגיאות היעד. צריך להציב את המדיניות הזו ב-Target Request Preflow, ב-Target Response Postflow וב-DefaultFaultRule.
InvalidTTLForMessageTimeOut ConcurrentRatelimit invalid ttl value specified for message timeout. הוא חייב להיות מספר שלם חיובי.

משתני תקלה

המשתנים האלה מוגדרים כשהמדיניות הזו מפעילה שגיאה. מידע נוסף זמין במאמר מידע שחשוב לדעת על שגיאות שקשורות למדיניות.

משתנים איפה דוגמה
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 יש מטען ייעודי (payload) נפרד.
steps.jws.MissingPayload 401 המטען הייעודי של JWS חסר.
steps.jws.NoAlgorithmFoundInHeader 401 מופיע כשה-JWS משמיטה את כותרת האלגוריתם.
steps.jws.UnknownException 401 אירעה חריגה לא ידועה.

שגיאות בפריסה

השגיאות האלה יכולות להתרחש כשפורסים שרת proxy שכולל את המדיניות הזו.

שם השגיאה מופיע כאשר
InvalidAlgorithm הערכים החוקיים היחידים הם: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

שגיאות אפשריות אחרות בפריסה.

משתני כשל

המשתנים האלה מוגדרים כשמתרחשת שגיאה בסביבת זמן הריצה. מידע נוסף זמין במאמר מה צריך לדעת? על שגיאות שקשורות למדיניות.

משתנים איפה דוגמה
fault.name="fault_name" fault_name הוא שם השגיאה, כפי שמצוין בטבלה שגיאות זמן ריצה שלמעלה. שם השגיאה הוא החלק האחרון בקוד השגיאה. fault.name Matches "TokenExpired"
JWS.failed כל כללי המדיניות של JWS מגדירים את אותו משתנה במקרה של כשל. jws.JWS-Policy.failed = true

דוגמה לתגובת שגיאה

לטיפול בשגיאות, השיטה המומלצת היא להעתיק את החלק errorcode של השגיאה תשובה. אין להסתמך על הטקסט שבfaultstring, כי הוא עשוי להשתנות.

דוגמה לכלל שגוי

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

המדיניות בנושא DecodeJWT

בקטע הזה מתוארים קודי התקלות והודעות השגיאה שמוחזרים, ומשתני השגיאה שמוגדרים על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת אם אתם מפתחים כללים לתיקון תקלות. מידע נוסף זמין במאמר מה צריך לדעת על שגיאות מדיניות ועל טיפול בפגמים.

שגיאות בזמן ריצה

השגיאות האלה יכולות להתרחש כשהמדיניות מופעלת.

קוד שגיאה סטטוס HTTP סיבה תיקון
steps.jwt.FailedToDecode 401 מופיע כשהמדיניות לא יכולה לפענח את ה-JWT. יכול להיות שה-JWT לא תקין, לא תקין או לא ניתן לפענוח.
steps.jwt.FailedToResolveVariable 401 מופיע כשמשתנה הזרימה שצוין ברכיב <Source> של המדיניות לא קיים.
steps.jwt.InvalidToken 401 הערך הזה מופיע כשמשתנה הזרימה שצוין ברכיב <Source> של המדיניות לא רלוונטי או שלא ניתן לפענח אותו.

שגיאות בפריסה

השגיאות האלה יכולות להתרחש כשפורסים שרת proxy שכולל את המדיניות הזו.

שם השגיאה סיבה תיקון
InvalidEmptyElement מופיע כשמשתנה הזרימה שמכיל את ה-JWT לפענוח לא צוין ברכיב <Source> של המדיניות.

משתני כשל

המשתנים האלה מוגדרים כשמתרחשת שגיאה בסביבת זמן הריצה. מידע נוסף זמין במאמר מה צריך לדעת? על שגיאות שקשורות למדיניות.

משתנים איפה דוגמה
fault.name="fault_name" fault_name הוא שם השגיאה, כפי שמצוין בטבלה שגיאות זמן ריצה שלמעלה. שם השגיאה הוא החלק האחרון בקוד השגיאה. fault.name Matches "TokenExpired"
JWT.failed כל כללי המדיניות של JWT מגדירים את אותו משתנה במקרה של כשל. JWT.failed = true

דוגמה לתגובת שגיאה

קודי תקלות במדיניות JWT

לטיפול בשגיאות, השיטה המומלצת היא להעתיק את החלק errorcode של השגיאה תשובה. אין להסתמך על הטקסט שבfaultstring, כי הוא עשוי להשתנות.

דוגמה לכלל שגוי

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

המדיניות בנושא extracts

בקטע הזה מתוארים קודי השגיאה והודעות השגיאה שהוחזרו, ומשתני התקלה שמוגדרים על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת את המידע הזה אם אתם מפתחים כללי כשל כדי לטפל בתקלות. מידע נוסף זמין במאמר מה צריך לדעת? מידע על שגיאות שקשורות למדיניות וטיפול פגמים.

שגיאות זמן ריצה

השגיאות האלה עשויות להתרחש כשהמדיניות מופעלת.

קוד תקלה סטטוס HTTP סיבה תיקון
steps.extractvariables.ExecutionFailed 500

השגיאה הזו מתרחשת כאשר:

  • המטען הייעודי (payload) של הקלט (JSON, XML) ריק.
  • הקלט (JSON, XML וכו') שהועבר למדיניות לא תקין או שגוי.
steps.extractvariables.ImmutableVariable 500 משתנה שנעשה בו שימוש במדיניות לא ניתן לשינוי. המדיניות לא הצליחה להגדיר זאת מותאם אישית.
steps.extractvariables.InvalidJSONPath 500 השגיאה הזו מתקבלת אם משתמשים בנתיב JSON לא תקין ברכיב JSONPath של המדיניות בנושא לדוגמה, אם המטען הייעודי (payload) של JSON לא כולל את האובייקט Name, אבל מציינים את Name כנתיב במדיניות, אז השגיאה הזו מתרחשת.
steps.extractvariables.JsonPathParsingFailure 500 השגיאה הזו מתקבלת כשהמדיניות לא יכולה לנתח נתיב JSON צריך לחלץ נתונים ממשתנה הזרימה שצוין ברכיב Source. בדרך כלל זה קורה אם משתנה הזרימה שצוין ברכיב Source לא קיים .
steps.extractvariables.SetVariableFailed 500 השגיאה הזו מתקבלת אם המדיניות לא הצליחה להגדיר את הערך למשתנה. בדרך כלל השגיאה מתרחשת אם מנסים להקצות ערכים למספר משתנים שהשמות שלהם מתחילים עם אותן המילים, בפורמט שמופרד באמצעות נקודות.
steps.extractvariables.SourceMessageNotAvailable 500 השגיאה הזו מתקבלת אם ההודעה המשתנה שמצוין באלמנט Source של המדיניות היא:
  • לא בהיקף (לא זמין בתהליך הספציפי שבו המדיניות מופעלת) או
  • לא ניתן לפתרון (לא מוגדר)
steps.extractvariables.UnableToCast 500 השגיאה הזו מתקבלת אם המדיניות לא הצליחה להפעיל Cast של התוכן שחולץ. למשתנה. בדרך כלל זה קורה אם מנסים להגדיר ערך מסוג נתונים אחד למשתנה מסוג נתונים אחר.

שגיאות פריסה

השגיאות האלו עשויות להתרחש כאשר פורסים שרת proxy שמכיל את המדיניות הזו.

שם השגיאה סיבה תיקון
NothingToExtract אם המדיניות לא מכילה אף אחד מהרכיבים URIPath, QueryParam, Header, FormParam, XMLPayload או JSONPayload, הפריסה של שרת ה-proxy ל-API נכשלה כי אין מה לחלץ.
NONEmptyPrefixMappedToEmptyURI שגיאה זו מתרחשת אם למדיניות יש קידומת שהוגדרה הרכיב Namespace מתחת לרכיב XMLPayload, אבל לא קיים URI מוגדר.
DuplicatePrefix שגיאה זו מתרחשת אם למדיניות יש אותה קידומת שהוגדרה יותר מ- פעם אחת ברכיב Namespace מתחת לרכיב XMLPayload.
NoXPathsToEvaluate אם המדיניות לא כוללת את הרכיב XPath בתוך XMLPayload, אז הפריסה של שרת ה-proxy ל-API נכשלה עם השגיאה הזו.
EmptyXPathExpression אם המדיניות כוללת ביטוי XPath ריק בתוך XMLPayload אז הפריסה של שרת ה-proxy ל-API נכשלת.
NoJSONPathsToEvaluate אם המדיניות לא כוללת את הרכיב JSONPath בתוך JSONPayload, אז הפריסה של שרת ה-proxy ל-API נכשלה עם השגיאה הזו.
EmptyJSONPathExpression אם המדיניות כוללת ביטוי XPath ריק בתוך XMLPayload, הפריסה של שרת ה-proxy ל-API נכשלת.
MissingName אם המדיניות לא כוללת את המאפיין name באף אחת מהמדיניות רכיבים כמו QueryParam, Header, FormParam או Variable, כאשר הדבר נדרש, הפריסה של שרת ה-proxy ל-API נכשלת.
PatternWithoutVariable אם המדיניות לא כוללת משתנה בתוך הרכיב Pattern, הפריסה של שרת ה-proxy ל-API נכשלת. לרכיב Pattern נדרש השם של המשתנה שבו יאוחסנו הנתונים שחולצו.
CannotBeConvertedToNodeset אם המדיניות כוללת ביטוי XPath שבו הסוג Variable מוגדר כ-nodeset, אבל לא ניתן להמיר את הביטוי ל-Nodeset, הפריסה של שרת ה-proxy ל-API נכשלת.
JSONPathCompilationFailed המדיניות לא הצליחה להדר נתיב JSON שצוין.
InstantiationFailed לא ניתן ליצור מופע של המדיניות.
XPathCompilationFailed אם הקידומת או הערך שנעשה בהם שימוש ברכיב XPath אינם חלק מרחבי שמות שהוצהרו במדיניות, ואז הפריסה של שרת ה-proxy ל-API נכשל.
InvalidPattern אם הגדרת הרכיב Pattern לא חוקית באחד מהרכיבים כמו URIPath, QueryParam, Header, FormParam, XMLPayload או JSONPayload במסגרת המדיניות, ואז פריסת ה-Proxy ל-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 למפתח קטן מ-32 בייטים לאלגוריתם HS256
steps.jws.InvalidClaim 401 כאשר חסרה תלונה על הפרת זכויות יוצרים או תלונה על הפרת זכויות יוצרים, או חוסר התאמה בכותרת או בכותרת חסרה.
steps.jws.InvalidCurve 401 העקומה שצוינה על ידי המפתח אינה חוקית עבור האלגוריתם 'עקומה אליפטית'.
steps.jws.InvalidJsonFormat 401 נמצא JSON לא חוקי בכותרת ה-JWS.
steps.jws.InvalidPayload 401 המטען הייעודי של JWS לא חוקי.
steps.jws.InvalidSignature 401 <DetachedContent> לא נכלל וב-JWS יש מטען ייעודי (payload) נפרד.
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 לאלגוריתם Elliptic Curve, או מפתח עקומה לאלגוריתם RSA.

שגיאות בפריסה

השגיאות האלה יכולות להתרחש כשפורסים שרת proxy שכולל את המדיניות הזו.

שם השגיאה מופיע כאשר
InvalidAlgorithm הערכים החוקיים היחידים הם: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

שגיאות אפשריות אחרות בפריסה.

משתני כשל

המשתנים האלה מוגדרים כשמתרחשת שגיאה בסביבת זמן הריצה. מידע נוסף זמין במאמר מה צריך לדעת? על שגיאות שקשורות למדיניות.

משתנים איפה דוגמה
fault.name="fault_name" fault_name הוא שם השגיאה, כפי שמצוין בטבלה שגיאות זמן ריצה שלמעלה. שם השגיאה הוא החלק האחרון בקוד השגיאה. fault.name Matches "TokenExpired"
JWS.failed כל כללי המדיניות של JWS מגדירים את אותו משתנה במקרה של כשל. jws.JWS-Policy.failed = true

דוגמה לתגובת שגיאה

לטיפול בשגיאות, השיטה המומלצת היא להעתיק את החלק errorcode של השגיאה תשובה. אין להסתמך על הטקסט שבfaultstring, כי הוא עשוי להשתנות.

דוגמה לכלל שגוי

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

המדיניות GenerateJWT

בקטע הזה מתוארים קודי התקלות והודעות השגיאה שמוחזרים, ומשתני השגיאה שמוגדרים על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת אם אתם מפתחים כללים לתיקון תקלות. מידע נוסף זמין במאמר מה צריך לדעת על שגיאות מדיניות ועל טיפול בפגמים.

שגיאות בזמן ריצה

השגיאות האלה יכולות להתרחש כשהמדיניות מופעלת.

קוד שגיאה סטטוס HTTP מופיע כאשר
steps.jwt.AlgorithmInTokenNotPresentInConfiguration 401 מופיע כשמדיניות האימות כוללת כמה אלגוריתמים.
steps.jwt.AlgorithmMismatch 401 האלגוריתם שצוין במדיניות היצירה לא תאם לאלגוריתם המצופה במדיניות האימות. האלגוריתמים שצוינו צריכים להתאים.
steps.jwt.FailedToDecode 401 המדיניות לא הצליחה לפענח את ה-JWT. ייתכן שה-JWT פגום.
steps.jwt.GenerationFailed 401 המדיניות לא הצליחה ליצור את ה-JWT.
steps.jwt.InsufficientKeyLength 401 למפתח עם פחות מ-32 בייטים לאלגוריתם HS256, פחות מ-48 בייטים לאגוריתמי HS386 ופחות מ-64 בייטים לאלגוריתם HS512.
steps.jwt.InvalidClaim 401 כאשר חסרה תלונה על הפרת זכויות יוצרים או תלונה על הפרת זכויות יוצרים, או חוסר התאמה בכותרת או בכותרת חסרה.
steps.jwt.InvalidCurve 401 העקומה שצוינה על ידי המפתח אינה חוקית עבור האלגוריתם 'עקומה אליפטית'.
steps.jwt.InvalidJsonFormat 401 נמצא JSON לא חוקי בכותרת או במטען הייעודי (payload).
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 לאלגוריתם Elliptic Curve, או מפתח עקומה לאלגוריתם RSA.

שגיאות בפריסה

השגיאות האלה יכולות להתרחש כשפורסים שרת proxy שכולל את המדיניות הזו.

שם השגיאה סיבה תיקון
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> עם אלגוריתמים של Family 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 הוא שם השגיאה, כפי שמצוין בטבלה שגיאות זמן ריצה שלמעלה. שם השגיאה הוא החלק האחרון בקוד השגיאה. 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>
    

המדיניות בנושא יתרונות מרכזיים של Java

בקטע הזה מתוארים קודי השגיאה והודעות השגיאה שהוחזרו, ומשתני התקלה שמוגדרים על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת את המידע הזה אם אתם מפתחים כללי כשל כדי לטפל בתקלות. מידע נוסף זמין במאמר מה צריך לדעת? מידע על שגיאות שקשורות למדיניות וטיפול פגמים.

שגיאות זמן ריצה

השגיאות האלה עשויות להתרחש כשהמדיניות מופעלת.

קוד תקלה סטטוס HTTP סיבה תיקון
steps.javacallout.ExecutionError 500 קורה כשקוד Java גורם לחריגה או מחזיר ערך null במהלך ביצוע מדיניות JavaCallout.

שגיאות פריסה

השגיאות האלה יכולות להתרחש כששרת ה-proxy שמכיל את המדיניות נפרס.

שם השגיאה מחרוזת שגיאה סטטוס HTTP מתרחשת כאשר
ResourceDoesNotExist Resource with name [name] and type [type] does not exist לא רלוונטי הקובץ שצוין ברכיב <ResourceURL> לא קיים.
JavaCalloutInstantiationFailed Failed to instantiate the JavaCallout Class [classname] לא רלוונטי קובץ המחלקה שצוין ברכיב <ClassName> לא נמצא ב צנצנת.
IncompatibleJavaVersion Failed to load java class [classname] definition due to - [reason] לא רלוונטי הצגת מחרוזת השגיאה. כדאי לעיין גם בקטע נתמכים והגרסאות הנתמכות.
JavaClassNotFoundInJavaResource Failed to find the ClassName in java resource [jar_name] - [class_name] לא רלוונטי הצגת מחרוזת השגיאה.
JavaClassDefinitionNotFound Failed to load java class [class_name] definition due to - [reason] לא רלוונטי הצגת מחרוזת השגיאה.
NoAppropriateConstructor No appropriate constructor found in JavaCallout class [class_name] לא רלוונטי הצגת מחרוזת השגיאה.
NoResourceForURL Could not locate a resource with URL [string] לא רלוונטי הצגת מחרוזת השגיאה.

משתני כשל

המשתנים האלה מוגדרים כשהמדיניות הזו גורמת לשגיאה. מידע נוסף זמין במאמר מה צריך לדעת? על שגיאות שקשורות למדיניות.

משתנים איפה דוגמה
fault.name="fault_name" fault_name הוא שם השגיאה, כפי שמצוין בטבלה שגיאות זמן ריצה שלמעלה. שם השגיאה הוא החלק האחרון בקוד השגיאה. fault.name Matches "ExecutionError"
javacallout.policy_name.failed policy_name הוא השם שצוין על ידי המשתמש של המדיניות שגרמה לבעיה. javacallout.JC-GetUserData.failed = true

דוגמה לתגובת שגיאה

{  
   "fault":{  
      "faultstring":"Failed to execute JavaCallout. [policy_name]",
      "detail":{  
         "errorcode":"javacallout.ExecutionError"
      }
   }
}

דוגמה לכלל שגוי

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

מדיניות JavaScript

בקטע הזה מתוארים קודי התקלה והודעות השגיאה שהוחזרו ומשתני התקלה שהוגדרו על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת את המידע הזה אם אתם מפתחים כללי שגיאה לטפל בתקלות. מידע נוסף זמין במאמר מה צריך לדעת? מידע על שגיאות שקשורות למדיניות וטיפול פגמים.

שגיאות זמן ריצה

השגיאות האלה עשויות להתרחש כשהמדיניות מופעלת.

קוד תקלה סטטוס HTTP סיבה תיקון
steps.javascript.ScriptExecutionFailed 500 מדיניות JavaScript עלולה לגרום לסוגים רבים ושונים של שגיאות ScriptExecutionFailed. לעיתים קרובות סוגי השגיאות שמופיעים כוללים RangeError, ReferenceError, SyntaxError, TypeError וגם URIError.
steps.javascript.ScriptExecutionFailedLineNumber 500 אירעה שגיאה בקוד ה-JavaScript. פרטים נוספים מופיעים במחרוזת השגיאה. לא רלוונטי
steps.javascript.ScriptSecurityError 500 אירעה שגיאת אבטחה במהלך ההפעלה של JavaScript. לראות את מחרוזת השגיאה עבור פרטים. לא רלוונטי

שגיאות פריסה

השגיאות האלו עשויות להתרחש כאשר פורסים שרת proxy שמכיל את המדיניות הזו.

שם השגיאה סיבה תיקון
InvalidResourceUrlFormat אם הפורמט של כתובת ה-URL של המשאב שצוין ברכיב <ResourceURL> או ברכיב <IncludeURL> של מדיניות JavaScript לא תקין, הפריסה של שרת ה-proxy ל-API תיכשל.
InvalidResourceUrlReference אם הרכיבים <ResourceURL> או <IncludeURL> יפנו לקובץ JavaScript שאינו קיים, הפריסה של שרת ה-proxy ל-API נכשלת. קובץ המקור שאליו מתבצעת ההפניה חייב להיות קיים ברמת שרת ה-proxy של ה-API, הסביבה או הארגון.
WrongResourceType השגיאה הזו מתקבלת במהלך הפריסה אם <ResourceURL> או <IncludeURL> הרכיבים במדיניות JavaScript מתייחסים לכל סוג משאב מלבד jsc (קובץ JavaScript).
NoResourceURLOrSource הפריסה של מדיניות JavaScript עלולה להיכשל עם השגיאה הזו אם <ResourceURL> הרכיב לא מוצהר או אם כתובת ה-URL של המשאב לא מוגדרת בתוך הרכיב הזה. הרכיב <ResourceURL> הוא רכיב חובה. לחלופין, הרכיב <IncludeURL> הוצהר אבל כתובת ה-URL של המשאב לא מוגדרת ברכיב הזה. הרכיב <IncludeURL> הוא אופציונלי אבל אם הוצהר עליו, צריך לציין את כתובת ה-URL של המשאב בתוך הרכיב <IncludeURL>.

משתני כשל

המשתנים האלה מוגדרים כשהמדיניות הזו גורמת לשגיאה בזמן הריצה. לקבלת מידע נוסף, ראה מה לדעת על שגיאות שקשורות למדיניות.

משתנים איפה דוגמה
fault.name="fault_name" fault_name הוא שם השגיאה, כפי שמצוין בטבלה שגיאות זמן ריצה שלמעלה. שם השגיאה הוא החלק האחרון בקוד השגיאה. fault.name Matches "ScriptExecutionFailed"
javascript.policy_name.failed policy_name הוא השם שצוין על ידי המשתמש של המדיניות שגרמה לבעיה. javascript.JavaScript-1.failed = true

דוגמה לתגובת שגיאה

{
  "fault": {
    "faultstring": "Execution of SetResponse failed with error: Javascript runtime error: "ReferenceError: "status" is not defined. (setresponse.js:6)\"",
    "detail": {
      "errorcode": "steps.javascript.ScriptExecutionFailed"
    }
  }
}

דוגמה לכלל שגוי

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

המדיניות בנושא JSONThreatProtection

בקטע הזה מתוארים קודי השגיאה והודעות השגיאה שהוחזרו, ומשתני התקלה שמוגדרים על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת את המידע הזה אם אתם מפתחים כללי כשל כדי לטפל בתקלות. מידע נוסף זמין במאמר מה צריך לדעת? מידע על שגיאות שקשורות למדיניות וטיפול פגמים.

שגיאות זמן ריצה

השגיאות האלה עשויות להתרחש כשהמדיניות מופעלת.

קוד תקלה סטטוס HTTP סיבה תיקון
steps.jsonthreatprotection.ExecutionFailed 500 מדיניות JSONThreatProtection יכולה לגרום לסוגים שונים של שגיאות ביצוע שנכשלו. רוב השגיאות האלה מתרחשות כשחורגים מסף מסוים שנקבע במדיניות. האלה סוגי שגיאות כוללים: אורך שם רשומת האובייקט, מספר רשומות של אובייקטים, מספר רכיבי המערך, עומק קונטיינר, אורך ערך מחרוזת המחרוזת. השגיאה הזו מתרחשת גם כשהמטען הייעודי (Payload) מכיל אובייקט JSON לא תקין.
steps.jsonthreatprotection.SourceUnavailable 500 השגיאה הזו מתקבלת אם ההודעה המשתנה שמצוין ברכיב <Source> הוא:
  • לא כולל (לא זמין בתהליך הספציפי שבו המדיניות מופעלת)
  • אינו אחד מהערכים החוקיים: request, response, או message
steps.jsonthreatprotection.NonMessageVariable 500 השגיאה הזו מתקבלת אם הרכיב <Source> מוגדר למשתנה אינו מסוג message.

שגיאות פריסה

ללא.

משתני כשל

המשתנים האלה מוגדרים כשהמדיניות הזו גורמת לשגיאה. מידע נוסף זמין במאמר מה צריך לדעת? על שגיאות שקשורות למדיניות.

משתנים איפה דוגמה
fault.name="fault_name" fault_name הוא שם השגיאה, כפי שמצוין בטבלה שגיאות זמן ריצה שלמעלה. שם השגיאה הוא החלק האחרון בקוד השגיאה. fault.name Matches "SourceUnavailable"
jsonattack.policy_name.failed policy_name הוא השם שצוין על ידי המשתמש של המדיניות שגרמה לבעיה. jsonattack.JTP-SecureRequest.failed = true

דוגמה לתגובת שגיאה

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

דוגמה לכלל שגוי

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

סוגי המדיניות JSONThreatProtection מגדירים את קודי השגיאה הבאים:

מדיניות JSONtoXML

בקטע הזה מתוארים קודי השגיאה והודעות השגיאה שהוחזרו, ומשתני התקלה שמוגדרים על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת את המידע הזה אם אתם מפתחים כללי כשל כדי לטפל בתקלות. מידע נוסף זמין במאמר מה צריך לדעת? מידע על שגיאות שקשורות למדיניות וטיפול פגמים.

שגיאות זמן ריצה

השגיאות האלה עשויות להתרחש כשהמדיניות מופעלת.

קוד תקלה סטטוס HTTP סיבה תיקון
steps.jsontoxml.ExecutionFailed 500 המטען הייעודי (payload) של הקלט (JSON) ריק או שהקלט (JSON) שמועבר אל מדיניות JSON ל-XML הוא לא תקין או בפורמט שגוי.
steps.jsontoxml.InCompatibleTypes 500 שגיאה זו מתרחשת אם סוג המשתנה מוגדר ברכיב <Source> ו הרכיב <OutputVariable> לא זהה. חשוב לציין שסוג משתנים שנכללים ברכיב <Source> וברכיב <OutputVariable> תואם ל-. הסוגים החוקיים הם message ו-string.
steps.jsontoxml.InvalidSourceType 500 השגיאה הזו מתקבלת אם סוג המשתנה שמשמש להגדרת הרכיב <Source> לא חוקי. סוגי המשתנים החוקיים הם message ו-string.
steps.jsontoxml.OutputVariableIsNotAvailable 500 שגיאה זו מתרחשת אם המשתנה שצוין ברכיב <Source> של ה-JSON מדיניות XML היא מסוג מחרוזת והרכיב <OutputVariable> לא מוגדר. הרכיב <OutputVariable> הוא חובה כשהמשתנה מוגדר בעמודה <Source> הוא מסוג מחרוזת.
steps.jsontoxml.SourceUnavailable 500 השגיאה הזו מתקבלת אם ההודעה המשתנה שמצוין ברכיב <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 500

השגיאה הזו מתקבלת כשמנסים לאחזר ערך ממפת ערכי מפתח מוצפנת ולהגדיר את הערך למשתנה שהשם שלו לא כולל את הקידומת private. התחילית, שנדרשת למטרות אבטחה בסיסית במהלך ניפוי באגים, מסתירה את הערכים המוצפנים מ-API Proxy Trace ומתייחס לסשנים של ניפוי באגים.

steps.keyvaluemapoperations.UnsupportedOperationException 500

השגיאה הזו מתרחשת אם המאפיין mapIdentifier מוגדר כמחרוזת ריקה במדיניות פעולות במפת הערכים של מפתחות.

שגיאות בפריסה

השגיאות האלה יכולות להתרחש כשפורסים שרת proxy שכולל את המדיניות הזו.

שם השגיאה סיבה תיקון
InvalidIndex אם המאפיין index שצוין ברכיב <Get> במדיניות של פעולות במפת ערך המפתח הוא אפס או מספר שלילי, הפריסה של שרת ה-proxy של ה-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 500 הצגת מחרוזת השגיאה.

שגיאות פריסה

השגיאות האלו עשויות להתרחש כאשר פורסים שרת proxy שמכיל את המדיניות הזו.

שם השגיאה סיבה תיקון
InvalidProtocol הפריסה של מדיניות MessageLogging יכולה להיכשל עם השגיאה הזו אם הפרוטוקול שצוין ברכיב <Protocol> אינו חוקי. הפרוטוקולים החוקיים הם TCP ו-UDP. לשליחת הודעות Syslog באמצעות TLS/SSL, יש תמיכה רק ב-TCP.
InvalidPort הפריסה של מדיניות MessageLogging עלולה להיכשל עם השגיאה הזו אם מספר היציאה לא צוין בתוך הרכיב <Port> או אם הוא לא חוקי. מספר היציאה חייב להיות מספר שלם גדול מאפס.

משתני כשל

המשתנים האלה מוגדרים כשמתרחשת שגיאה בסביבת זמן הריצה. מידע נוסף זמין במאמר מה צריך לדעת? על שגיאות שקשורות למדיניות.

משתנים איפה דוגמה
fault.name="fault_name" fault_name הוא שם השגיאה, כפי שמצוין בטבלה שגיאות זמן ריצה שלמעלה. שם השגיאה הוא החלק האחרון בקוד השגיאה. fault.name Matches "StepDefinitionExecutionFailed"
messagelogging.policy_name.failed policy_name הוא השם שצוין על ידי המשתמש של המדיניות שגרמה לבעיה. messagelogging.ML-LogMessages.failed = true

דוגמה לתגובת שגיאה

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

דוגמה לכלל שגוי

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

מדיניות OASValidation

בקטע הזה מתוארים קודי התקלות והודעות השגיאה שמוחזרים, ומשתני השגיאה שמוגדרים על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת אם אתם מפתחים כללים לתיקון תקלות. מידע נוסף זמין במאמר מה צריך לדעת על שגיאות מדיניות ועל טיפול בפגמים.

שגיאות בזמן ריצה

השגיאות האלה יכולות להתרחש כשהמדיניות מופעלת.

קוד שגיאה סטטוס HTTP סיבה
steps.oasvalidation.Failed 500 לא ניתן לאמת את גוף הודעת הבקשה מול מפרט OpenAPI שסופק.
steps.oasvalidation.SourceMessageNotAvailable 500

המשתנה שצוין ברכיב <Source> של המדיניות לא כלול בהיקף או שלא ניתן לפענח אותו.

steps.oasvalidation.NotMessageVariable 500

רכיב <Source> מוגדר למשתנה שאינו מסוג message.

שגיאות בפריסה

השגיאות האלה יכולות להתרחש כשפורסים שרת proxy שכולל את המדיניות הזו.

שם השגיאה סיבה
ResourceDoesNotExist מפרט OpenAPI שיש אליו הפניה ברכיב <OASResource> לא קיים.
ResourceCompileFailed מפרט OpenAPI שכלול בפריסה מכיל שגיאות שמונעות את ההידור שלו. בדרך כלל הדבר מצביע על כך שהמפרט לא מעוצב כראוי במפרט OpenAPI 3.0.
BadResourceURL לא ניתן לעבד את מפרט OpenAPI שיש אליו הפניה ברכיב <OASResource>. מצב כזה יכול לקרות אם הקובץ אינו קובץ JSON או YAML, או אם כתובת ה-URL של הקובץ לא צוינה.

משתני שבר

המשתנים האלה מוגדרים כשהמדיניות הזו גורמת לשגיאה בזמן הריצה. אפשר לקרוא מידע נוסף במאמר מה צריך לדעת על שגיאות מדיניות.

משתנים מיקום דוגמה
fault.name="fault_name" fault_name הוא שם התקלה, כפי שמפורט בטבלה שגיאות זמן ריצה שלמעלה. שם הטעות הוא החלק האחרון בקוד השגיאה. fault.name Matches "ResourceDoesNotExist"
oasvalidation.policy_name.failed policy_name הוא השם שצוין על ידי המשתמש של המדיניות שגרמה לשגיאה. oasvalidation.myoaspolicy.failed = true

המדיניות PopulateCache

בקטע הזה מתוארים קודי השגיאה והודעות השגיאה שהוחזרו, ומשתני התקלה שמוגדרים על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת את המידע הזה אם אתם מפתחים כללי כשל כדי לטפל בתקלות. מידע נוסף זמין במאמר מה צריך לדעת? מידע על שגיאות שקשורות למדיניות וטיפול פגמים.

שגיאות זמן ריצה

השגיאות האלה עשויות להתרחש כשהמדיניות מופעלת.

קוד תקלה סטטוס HTTP מתרחשת כאשר
policies.populatecache.EntryCannotBeCached 500 לא ניתן לשמור רשומה במטמון. אובייקט ההודעה שנשמר במטמון הוא לא מופע של שניתן להשתמש בו באופן טורי.

שגיאות פריסה

השגיאות האלו עשויות להתרחש כאשר פורסים שרת proxy שמכיל את המדיניות הזו.

שם השגיאה סיבה תיקון
InvalidCacheResourceReference השגיאה הזו מתרחשת אם הרכיב <CacheResource> במדיניות PopulateCache מוגדר שם שלא קיים בסביבה שבה נפרס שרת ה-proxy ל-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

בקטע הזה מתוארות הודעות השגיאה ומשתני הזרימה שמוגדרים כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת אם מפתחים כללים לתקלה בשרת proxy. מידע נוסף זמין במאמר מה צריך לדעת על שגיאות מדיניות ועל טיפול בפגמים.

קידומת קוד שגיאה

לא רלוונטי

שגיאות בזמן ריצה

המדיניות הזו לא גורמת לשגיאות זמן ריצה.

שגיאות בפריסה

השגיאות האלה יכולות להתרחש כשפורסים שרת proxy שכולל את המדיניות הזו.

שם השגיאה סיבה תיקון
InvalidCacheResourceReference השגיאה הזו מתרחשת אם לרכיב <CacheResource> מוגדר שם שלא קיים בסביבה שבה נפרס שרת ה-proxy של ה-API.
InvalidTimeout אם הרכיב <CacheLookupTimeoutInSeconds> מוגדר כמספר שלילי, הפריסה של שרת ה-proxy של ה-API תיכשל.
CacheNotFound השגיאה הזו מתרחשת אם המטמון הספציפי שצוין בהודעת השגיאה לא נוצר ברכיב מסוים של מעבד ההודעות.

משתני שבר

לא רלוונטי

דוגמה לשגיאה

לא רלוונטי

המדיניות 'ביטול מטמון'

בקטע הזה מתוארות הודעות השגיאה ומשתני הזרימה שמוגדרים כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת אם מפתחים כללים לתקלה בשרת proxy. מידע נוסף זמין במאמר מה צריך לדעת על שגיאות מדיניות ועל טיפול בפגמים.

קידומת קוד שגיאה

לא רלוונטי

שגיאות בזמן ריצה

המדיניות הזו לא גורמת לשגיאות זמן ריצה.

שגיאות בפריסה

השגיאות האלה יכולות להתרחש כשפורסים שרת proxy שכולל את המדיניות הזו.

שם השגיאה סיבה תיקון
InvalidCacheResourceReference השגיאה הזו מתרחשת אם הרכיב <CacheResource> במדיניות InvalidateCache מוגדר לשם שלא קיים בסביבה שבה נפרס שרת ה-proxy של ה-API.
CacheNotFound השגיאה הזו מתרחשת אם המטמון הספציפי שצוין בהודעת השגיאה לא נוצר ברכיב מסוים של מעבד ההודעות.

משתני שבר

לא רלוונטי

דוגמה לשגיאה

לא רלוונטי

המדיניות ResponseCache

בקטע הזה מתוארות הודעות השגיאה ומשתני הזרימה שמוגדרים כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת אם מפתחים כללים לתקלה בשרת proxy. מידע נוסף זמין במאמר מה צריך לדעת על שגיאות מדיניות ועל טיפול בפגמים.

קידומת קוד שגיאה

לא רלוונטי

שגיאות בזמן ריצה

המדיניות הזו לא גורמת לשגיאות זמן ריצה.

שגיאות בפריסה

השגיאות האלה יכולות להתרחש כשפורסים שרת proxy שכולל את המדיניות הזו.

שם השגיאה סיבה תיקון
InvalidTimeout אם הרכיב <CacheLookupTimeoutInSeconds> במדיניות ResponseCache מוגדר למספר שלילי, הפריסה של שרת ה-proxy של ה-API תיכשל.
InvalidCacheResourceReference השגיאה הזו מתרחשת אם הרכיב <CacheResource> במדיניות של ResponseCache מוגדר לשם שלא קיים בסביבה שבה נפרס שרת ה-proxy של ה-API.
ResponseCacheStepAttachmentNotAllowedReq השגיאה הזו מתרחשת אם אותה מדיניות ResponseCache מצורפת לכמה נתיבי בקשות בתוך זרימות של שרת proxy ל-API.
ResponseCacheStepAttachmentNotAllowedResp השגיאה הזו מתרחשת אם אותה מדיניות ResponseCache מצורפת לכמה נתיבי תגובה בתוך זרימות כלשהן של שרת proxy ל-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 המשאב המבוקש אינו קיים באף אחד ממוצרי ה-API המשויכים אל אסימון גישה. VerifyAccessToken
steps.oauth.v2.FailedToResolveAccessToken 500 המדיניות שצפויה למצוא אסימון גישה במשתנה שצוין רכיב <AccessToken>, אבל אי אפשר לפענח את המשתנה. GenerateAccessToken
steps.oauth.v2.FailedToResolveAuthorizationCode 500 המדיניות שצפויה למצוא קוד הרשאה במשתנה שצוין רכיב <Code>, אבל אי אפשר לפענח את המשתנה. GenerateAuthorizationCode
steps.oauth.v2.FailedToResolveClientId 500 המדיניות שצפויה למצוא את ה-Client ID במשתנה שצוין רכיב <ClientId>, אבל אי אפשר לפענח את המשתנה. GenerateAccessToken
GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
RefreshAccessToken
steps.oauth.v2.FailedToResolveRefreshToken 500 המדיניות צפויה למצוא אסימון רענון במשתנה שצוין רכיב <RefreshToken>, אבל אי אפשר לפענח את המשתנה. RefreshAccessToken
steps.oauth.v2.FailedToResolveToken 500 המדיניות שצפויה למצוא אסימון במשתנה שצוין רכיב <Tokens>, אבל אי אפשר לפענח את המשתנה.

ValidateToken
InvalidateToken

steps.oauth.v2.InsufficientScope 403 לאסימון הגישה שמוצג בבקשה יש היקף שלא תואם להיקף שמצוין במדיניות לאימות אסימון גישה. מידע נוסף על היקף זמין במאמר עבודה עם היקפי הרשאות OAuth2. VerifyAccessToken
steps.oauth.v2.invalid_access_token 401 אסימון הגישה שנשלח מהלקוח אינו חוקי. VerifyAccessToken
steps.oauth.v2.invalid_client 401

שם השגיאה הזה מוחזר כאשר המאפיין <GenerateResponse> של המדיניות מוגדרת כ-true ומזהה הלקוח שנשלח בבקשה הוא לא תקין. ודאו שאתם משתמשים בערכים הנכונים של מפתח הלקוח והסוד האפליקציה למפתחים שמשויכת לשרת ה-proxy שלך. בדרך כלל, הערכים האלה נשלחים כותרת Basic Authorization בקידוד Base64.

הערה: מומלץ לשנות את כלל השגיאה הקיים כדי לקחת את invalid_client InvalidClientIdentifier שמות. לעיון בגרסה 16.09.21 הערות למידע נוסף ודוגמה.

GenerateAccessToken
RefreshAccessToken
steps.oauth.v2.invalid_request 400 שם השגיאה הזה משמש לכמה סוגים שונים של שגיאות, בדרך כלל לשגיאות חסרות או פרמטרים שגויים שנשלחו בבקשה. אם <GenerateResponse> הוא מוגדר ל-false, השתמש במשתני שגיאה (מתוארים בהמשך) כדי לאחזר פרטים על השגיאה, למשל שם התקלה והסיבה לשגיאה. GenerateAccessToken
GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
RefreshAccessToken
steps.oauth.v2.InvalidAccessToken 401 כותרת ההרשאה לא כוללת את המילה "נושא", והיא נדרשת. עבור דוגמה: Authorization: Bearer your_access_token VerifyAccessToken
steps.oauth.v2.InvalidAPICallAsNo\
steps.oauth.v2.ApiProductMatchFound
401

שרת ה-proxy של ה-API לא נמצא במוצר שמשויך לאסימון הגישה.

טיפים: חשוב לוודא שהמוצר שמשויך לאסימון הגישה מוגדר כראוי. לדוגמה, אם אתם משתמשים בתווים כלליים לחיפוש בנתיבי משאבים, אתם צריכים לוודא השימוש בתווים כלליים לחיפוש נעשה בצורה נכונה. פרטים נוספים זמינים במאמר יצירת מוצרי API.

ראו בנוסף הנחיות נוספות לגבי הסיבות לשגיאה הזו זמינים בפוסט בקהילת Apigee.

VerifyAccessToken
steps.oauth.v2.InvalidClientIdentifier 500

שם השגיאה הזה מוחזר כאשר המאפיין <GenerateResponse> של המדיניות מוגדרת כ-false ומזהה הלקוח שנשלח בבקשה הוא לא תקין. ודאו שאתם משתמשים בערכים הנכונים של מפתח הלקוח והסוד אפליקציה למפתחים שמשויכת לשרת ה-proxy שלך. בדרך כלל, הערכים האלה נשלחים בפורמט Base64 לכותרת הבסיסית 'הרשאה בסיסית' המקודדת.

הערה: במצב הזה, בעבר קראו לשגיאה הזו invalid_client מומלץ לשנות את כלל השגיאה הקיים את התנאים כדי לתפוס גם את invalid_client וגם InvalidClientIdentifier שמות. לעיון בגרסה 16.09.21 הערות למידע נוסף ודוגמה.

GenerateAccessToken
RefreshAccessToken

steps.oauth.v2.InvalidParameter 500 המדיניות חייבת לציין אסימון גישה או קוד הרשאה, אבל לא ובשניהם. GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
steps.oauth.v2.InvalidTokenType 500 הרכיב <Tokens>/<Token> מחייב לציין את האסימון הסוג (לדוגמה, refreshtoken). אם הלקוח מעביר נתונים מהסוג הלא נכון, הפעולה הבאה נשלחת לשגיאה. ValidateToken
InvalidateToken
steps.oauth.v2.MissingParameter 500 סוג התגובה הוא token, אבל לא צוינו סוגי הקצאות. GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
steps.oauth.v2.UnSupportedGrantType 500

הלקוח ציין סוג הענקה שאינו נתמך על ידי המדיניות (לא מופיע ברשימה &lt;SupportedGrantTypes&gt; ).

הערה: יש כרגע באג שבו יש שגיאות של סוג המענק שלא נתמך לא מושלכים בצורה נכונה. אם מתרחשת שגיאה מסוג הענקה שאינה נתמכת, שרת ה-proxy לא להזין את זרימת השגיאות כמצופה.

GenerateAccessToken
GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
RefreshAccessToken

שגיאות פריסה

השגיאות האלו עשויות להתרחש כאשר פורסים שרת proxy שמכיל את המדיניות הזו.

שם השגיאה סיבה
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 = "invalid_request"
oauthV2.policy_name.failed policy_name הוא השם שצוין על ידי המשתמש של המדיניות שגרמה לבעיה. oauthV2.GenerateAccesstoken.failed = true
oauthV2.policy_name.fault.name policy_name הוא השם שצוין על ידי המשתמש של המדיניות שגרמה לבעיה. oauthV2.GenerateAccesstoken.fault.name = invalid_request

הערה: בפעולה VerifyAccessToken, שם השגיאה כולל את הסיומת הזו: keymanagement.service
לדוגמה: keymanagement.service.invalid_access_token

oauthV2.policy_name.fault.cause policy_name הוא השם שצוין על ידי המשתמש של המדיניות שגרמה לבעיה. oauthV2.GenerateAccesstoken.cause = Required param : grant_type

דוגמה לתגובת שגיאה

התגובות האלה נשלחות חזרה ללקוח אם <GenerateResponse> הפרמטר הוא true.

אם הערך של <GenerateResponse> הוא true, המדיניות מחזירה שגיאות בפורמט הזה בשביל פעולות שיוצרות אסימונים וקודים. לרשימה מלאה, אפשר לעיין במאמר: שגיאת HTTP של OAuth הפניה לתגובה.

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

אם הערך של <GenerateResponse> הוא true, המדיניות מחזירה שגיאות בפורמט הזה כדי לאמת ולאמת פעולות. לרשימה מלאה, ראו שגיאת 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>

מדיניות קבלת OAuthV2מידע

בקטע הזה מתוארים קודי השגיאה והודעות השגיאה שהוחזרו, ומשתני התקלה שמוגדרים על ידי 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 פג התוקף של אסימון הרענון שנשלח למדיניות.

שגיאות פריסה

יש לעיין בהודעה שדווחה בממשק המשתמש לקבלת מידע על שגיאות פריסה.

משתני כשל

המשתנים האלה מוגדרים כשהמדיניות הזו גורמת לשגיאה בזמן הריצה.

משתנים איפה דוגמה
fault.name="fault_name" fault_name הוא שם השגיאה, כפי שמצוין בטבלה שגיאות זמן ריצה שלמעלה. שם השגיאה הוא החלק האחרון בקוד השגיאה. fault.name Matches "IPDeniedAccess"
oauthV2.policy_name.failed policy_name הוא השם שצוין על ידי המשתמש של המדיניות שגרמה לבעיה. oauthV2.GetTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name הוא השם שצוין על ידי המשתמש של המדיניות שגרמה לבעיה. oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id
oauthV2.policy_name.fault.cause policy_name הוא השם שצוין על ידי המשתמש של המדיניות שגרמה לבעיה. oauthV2.GetTokenInfo.cause = ClientID is Invalid

דוגמה לתגובת שגיאה

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

דוגמה לכלל שגוי

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

הגדרת מדיניות OAuthV2Info

בקטע הזה מתוארים קודי השגיאה והודעות השגיאה שהוחזרו, ומשתני התקלה שמוגדרים על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת את המידע הזה אם אתם מפתחים כללי כשל כדי לטפל בתקלות. מידע נוסף זמין במאמר מה צריך לדעת? מידע על שגיאות שקשורות למדיניות וטיפול פגמים.

שגיאות זמן ריצה

השגיאות האלה עשויות להתרחש כשהמדיניות מופעלת.

קוד תקלה סטטוס HTTP סיבה
steps.oauth.v2.access_token_expired 500 פג התוקף של אסימון הגישה שנשלח למדיניות.
steps.oauth.v2.invalid_access_token 500 אסימון הגישה שנשלח למדיניות לא חוקי.
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>

מחיקת מדיניות OAuthV2Info

בקטע הזה מתוארים קודי השגיאה והודעות השגיאה שהוחזרו, ומשתני התקלה שמוגדרים על ידי 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, אפשר לעיין בחומר העזר בנושא תגובת שגיאה ב-HTTP 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}

קבלת מדיניות OAuthV1

לא צוינו קודי שגיאה למדיניות לקבל מידע על OAuth v1.0a.

מחיקת מדיניות OAuthV11

אם הפעולה בוצעה בהצלחה, המדיניות מחזירה סטטוס 200.

אם הפעולה נכשלת, המדיניות מחזירה קוד שגיאה 404 ופלט שדומה לזה (בהתאם לאסימון שאתם מוחקים: אסימון גישה, אסימון בקשה או מאמת):

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

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


מדיניות PythonScript

בקטע הזה מתוארים קודי התקלה והודעות השגיאה שהוחזרו ומשתני התקלה שהוגדרו על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת את המידע הזה אם אתם מפתחים כללי שגיאה לטפל בתקלות. מידע נוסף זמין במאמר מה צריך לדעת? מידע על שגיאות שקשורות למדיניות וטיפול פגמים.

שגיאות זמן ריצה

השגיאות האלה עשויות להתרחש כשהמדיניות מופעלת.

קוד תקלה סטטוס HTTP סיבה תיקון
steps.script.ScriptEvaluationFailed 500 מדיניות PythonScript יכולה לגרום לכמה סוגים שונים של שגיאות ScriptExecutionFailed. לעיתים קרובות סוגי השגיאות שמופיעים כוללים NameError ו- ZeroDivisionError.

שגיאות פריסה

השגיאות האלו עשויות להתרחש כאשר פורסים שרת proxy שמכיל את המדיניות הזו.

שם השגיאה סיבה תיקון
InvalidResourceUrlFormat אם הפורמט של כתובת ה-URL של המשאב צוין ב-<ResourceURL> או הרכיב <IncludeURL> של מדיניות PythonScript לא תקין, הפריסה של שרת ה-proxy ל-API נכשלת.
InvalidResourceUrlReference אם הרכיבים <ResourceURL> או <IncludeURL> יפנו לקובץ PythonScript שלא קיים, הפריסה של שרת ה-proxy ל-API נכשלת. קובץ המקור שאליו מתבצעת ההפניה חייב להיות קיים ברמת שרת ה-proxy של ה-API, הסביבה או הארגון.

משתני כשל

המשתנים האלה מוגדרים כשהמדיניות הזו גורמת לשגיאה בזמן הריצה. לקבלת מידע נוסף, ראה מה לדעת על שגיאות שקשורות למדיניות.

משתנים איפה דוגמה
fault.name="fault_name" fault_name הוא שם השגיאה, כפי שמצוין בטבלה שגיאות זמן ריצה שלמעלה. שם השגיאה הוא החלק האחרון בקוד השגיאה. fault.name Matches "ScriptExecutionFailed"
pythonscript.policy_name.failed policy_name הוא השם שצוין על ידי המשתמש של המדיניות שגרמה לבעיה. pythonscript.PythonScript-1.failed = true

דוגמה לתגובת שגיאה

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

דוגמה לכלל שגוי

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

מדיניות מכסה

בקטע הזה מתוארים קודי השגיאה והודעות השגיאה שהוחזרו, ומשתני התקלה שמוגדרים על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת את המידע הזה אם אתם מפתחים כללי כשל כדי לטפל בתקלות. מידע נוסף זמין במאמר מה צריך לדעת? מידע על שגיאות שקשורות למדיניות וטיפול פגמים.

שגיאות זמן ריצה

השגיאות האלה עשויות להתרחש כשהמדיניות מופעלת.

קוד תקלה סטטוס HTTP סיבה תיקון
policies.ratelimit.FailedToResolveQuotaIntervalReference 500 קורה אם הרכיב <Interval> לא מוגדר במדיניות Quota. הרכיב הזה חובה ומשמש לציון מרווח הזמן שרלוונטי למכסה. מרווח הזמן הערך יכול להיות דקות, שעות, ימים, שבועות או חודשים, כפי שמוגדר באמצעות הרכיב <TimeUnit>.
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference 500 קורה אם הרכיב <TimeUnit> לא מוגדר במדיניות Quota. הרכיב הזה חובה ומשמש לציון יחידת הזמן הרלוונטית למכסה. מרווח הזמן יכול להיות בדקות, שעות, ימים, שבועות או חודשים.
policies.ratelimit.InvalidMessageWeight 500 מתרחש אם הערך של הרכיב <MessageWeight> צוין באמצעות משתנה זרימה לא חוקי (ערך שאינו מספר שלם).
policies.ratelimit.QuotaViolation 500 חרגת מהמיכסה. לא רלוונטי

שגיאות פריסה

שם השגיאה סיבה תיקון
InvalidQuotaInterval אם מרווח המכסה שצוין ברכיב <Interval> הוא לא מספר שלם, הפריסה של שרת ה-proxy ל-API נכשלת. לדוגמה, אם מרווח הזמן במכסה שצוין הוא 0.1 ברכיב <Interval>, אז הפריסה של ה-Proxy ל-API נכשל.
InvalidQuotaTimeUnit אם יחידת הזמן שצוינה ברכיב <TimeUnit> אינה נתמכת, הפריסה של שרת ה-proxy ל-API נכשלת. יחידות הזמן הנתמכות הן minute, hour, day, week וגם month.
InvalidQuotaType אם סוג המכסה שצוין על ידי המאפיין type ב<Quota> לא חוקי, אז הפריסה של שרת ה-proxy ל-API נכשלת. המכסות הנתמכות הן default, calendar, flexi ו-rollingwindow.
InvalidStartTime אם פורמט השעה שצוין ברכיב <StartTime> הוא לא, הפריסה של שרת ה-proxy ל-API נכשלת. הפורמט החוקי הוא yyyy-MM-dd HH:mm:ss, שהוא פורמט תאריך ושעה ב-ISO 8601. עבור לדוגמה, אם השעה שצוינה ברכיב <StartTime> היא 7-16-2017 12:00:00, הפריסה של שרת ה-proxy ל-API נכשלת.
StartTimeNotSupported אם צוין הרכיב <StartTime> שסוג המכסה שלו לא צוין סוג calendar, הפריסה של שרת ה-proxy ל-API נכשלת. הרכיב <StartTime> הוא רק למכסה מסוג calendar. לדוגמה, אם המאפיין type מוגדר אל flexi או rolling window ברכיב <Quota>, ואז אל הפריסה של שרת ה-proxy ל-API נכשלה.
InvalidTimeUnitForDistributedQuota אם הרכיב <Distributed> מוגדר לערך true והרכיב <TimeUnit> מוגדר לערך second – הפריסה של שרת ה-proxy ל-API נכשלת. יחידת הזמן second אינה חוקית עבור מכסה מבוזרת.
InvalidSynchronizeIntervalForAsyncConfiguration אם הערך שצוין לרכיב <SyncIntervalInSeconds> בתוך הרכיב <AsynchronousConfiguration> במדיניות מכסה קטן מאפס, ואז הפריסה של שרת ה-proxy ל-API נכשלה.
InvalidAsynchronizeConfigurationForSynchronousQuota אם הערך של הרכיב <AsynchronousConfiguration> מוגדר כ-true במדיניות מכסה, שגם בהגדרה אסינכרונית באמצעות הרכיב <AsynchronousConfiguration>, לאחר מכן הפריסה של שרת ה-proxy ל-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>

איפוס מדיניות מכסה

בקטע הזה מתוארים קודי התקלות והודעות השגיאה שמוחזרים, ומשתני השגיאה שמוגדרים על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת אם אתם מפתחים כללים לתיקון תקלות. מידע נוסף זמין במאמר מה צריך לדעת על שגיאות מדיניות ועל טיפול בפגמים.

שגיאות בזמן ריצה

השגיאות האלה יכולות להתרחש כשהמדיניות מופעלת.

קוד שגיאה סטטוס HTTP סיבה תיקון
policies.resetquota.InvalidRLPolicy 500 מדיניות המכסה שצוינה ברכיב <Quota> של המדיניות בנושא איפוס המכסה לא מוגדרת בשרת ה-proxy של ה-API ולכן לא זמינה במהלך התהליך. הרכיב <Quota> הוא חובה ומזהה את המדיניות בנושא מכסות יעד שצריך לעדכן את המונה שלה באמצעות המדיניות 'איפוס מכסה'.
policies.resetquota.FailedToResolveAllowCountRef לא רלוונטי לא ניתן לפענח לערך את ההפניה למשתנה שמכיל את מספר ההרשאה ברכיב <Allow> של המדיניות. זהו רכיב חובה ומציין את הסכום להקטנה במונה.
policies.resetquota.FailedToResolveRLPolicy 500 לא ניתן לפענח את המשתנה שמוזכר במאפיין ref ברכיב <Quota>.

שגיאות בפריסה

השגיאות האלה יכולות להתרחש כשפורסים שרת proxy שכולל את המדיניות הזו.

שם השגיאה סיבה תיקון
InvalidCount אם ערך הספירה שצוין ברכיב <Allow> במדיניות איפוס המכסה אינו מספר שלם, הפריסה של שרת ה-proxy של ה-API תיכשל.

מדיניות RaiseFault

בקטע הזה מתוארים קודי התקלה והודעות השגיאה שהוחזרו ומשתני התקלה שהוגדרו על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת את המידע הזה אם אתם מפתחים כללי כשל כדי לטפל בתקלות. מידע נוסף זמין במאמר הבא: מה צריך לדעת לגבי שגיאות מדיניות טיפול בתקלות.

שגיאות זמן ריצה

השגיאות האלה עשויות להתרחש כשהמדיניות מופעלת.

קוד תקלה סטטוס HTTP סיבה
steps.raisefault.RaiseFault 500 הצגת מחרוזת השגיאה.

שגיאות פריסה

ללא.

משתני כשל

המשתנים האלה מוגדרים כשמתרחשת שגיאה בסביבת זמן הריצה. מידע נוסף זמין במאמר מה צריך לדעת? על שגיאות שקשורות למדיניות.

משתנים איפה דוגמה
fault.name="fault_name" fault_name הוא שם התקלה, כפי שמצוין ב הטבלה שגיאות זמן ריצה למעלה. שם השגיאה הוא האחרון חלק מקוד השגיאה. fault.name = "RaiseFault"
raisefault.policy_name.failed policy_name הוא השם שניתן על ידי המשתמש למדיניות ש הטעות. raisefault.RF-ThrowError.failed = true

דוגמה לתגובת שגיאה

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

המדיניות בנושא regularExpressionProtection

בקטע הזה מתוארים קודי השגיאה וההודעות שהוחזרו ומשתני השגיאות שהוגדרו על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת אם אתם מפתחים כללים לתקלות כדי לטפל בתקלות. כדי לתעד שגיאה ולהעלות שגיאה מותאמת אישית משלך, צריך להגדיר את המאפיין continueOnError="true" ברכיב הבסיס של המדיניות. מידע נוסף זמין במאמרים מה צריך לדעת על שגיאות מדיניות ועל טיפול בפגמים.

השגיאות שהוחזרו ממדיניות Edge הן בפורמט עקבי, כמו שמתואר בחומר העזר בנושא קוד שגיאה.

שגיאות בזמן ריצה

השגיאות האלה יכולות להתרחש כשהמדיניות מופעלת.

קוד שגיאה מסר
ExecutionFailed ביצוע השלב regularExpressionProtection StepDefinition נכשל. סיבה: {1}
InstantiationFailed נכשל מופע השלב regularExpressionProtection StepDefinition {0}
NonMessageVariable המשתנה {0} לא מפוענח להודעה
SourceMessageNotAvailable {0} ההודעה אינה זמינה עבור regularExpressionProtection StepDefinition {1}
ThreatDetected זוהה איום לביטוי רגולרי ב-{0}: ביטוי רגולרי: {1} קלט: {2}
VariableResolutionFailed לא ניתן לפענח את המשתנה {0}

שגיאות בפריסה

קוד שגיאה מסר תיקון
CannotBeConvertedToNodeset regularExpressionProtection {0}: לא ניתן להמיר את התוצאה של xpath {1} ל-צומתset. הקשר {2}
DuplicatePrefix regularExpressionProtection {0}: קידומת כפולה {1}
EmptyJSONPathExpression regularExpressionProtection {0}: ביטוי JSONPath ריק
EmptyXPathExpression regularExpressionProtection {0}: ביטוי XPath ריק
InvalidRegularExpression regularExpressionProtection {0}: ביטוי רגולרי לא חוקי {1}, הקשר {2}
JSONPathCompilationFailed regularExpressionProtection {0}: ההידור של jsonpath {1} נכשל. הקשר {2}
NONEmptyPrefixpedToEmptyURI regularExpressionProtection {0}: לא ניתן למפות קידומת שאינה ריקה {1} ל-URI ריק
NoPatternsToEnforce regularExpressionProtection {0}: אין דפוסים לאכיפה ב{1}
NothingToEnforce regularExpressionProtection {0}: לפחות אחד מהערכים URIPath, QueryParam, Header , FormParam, XMLPayload, JSONPayload
XPathCompilationFailed regularExpressionProtection {0}: ההידור של ה-xpath {1} נכשל. הקשר {2}

משתני שבר

המשתנים האלה מוגדרים כשהמדיניות הזו גורמת לשגיאה. אפשר לקרוא מידע נוסף במאמר מה צריך לדעת על שגיאות מדיניות.

משתנים מיקום דוגמה
fault.name="fault_name" fault_name הוא שם התקלה, כפי שמפורט בטבלה שלמעלה. fault.name Matches "ThreatDetected"
regularexpressionprotection.policy_name.failed policy_name הוא השם שצוין על ידי המשתמש של המדיניות שגרמה לשגיאה. regularexpressionprotection.Regular-Expressions-Protection-1.failed = true

המדיניות SOAPMessageValidation

בקטע הזה מתוארים קודי התקלות והודעות השגיאה שמוחזרים, ומשתני השגיאה שמוגדרים על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת אם אתם מפתחים כללים לתיקון תקלות. מידע נוסף זמין במאמר מה צריך לדעת על שגיאות מדיניות ועל טיפול בפגמים.

שגיאות בזמן ריצה

השגיאות האלה יכולות להתרחש כשהמדיניות מופעלת.

קוד שגיאה סטטוס HTTP סיבה תיקון
steps.messagevalidation.SourceMessageNotAvailable 500

השגיאה הזו מתרחשת אם משתנה שצוין ברכיב <Source> של המדיניות הוא:

  • מחוץ להיקף (לא זמין בתהליך הספציפי שבו המדיניות מיושמת)
  • או
  • לא ניתן לפענח (אינו מוגדר)
steps.messagevalidation.NonMessageVariable 500

השגיאה הזו מתרחשת אם הרכיב <Source> במדיניות SOAPMessageAuthentication מוגדר למשתנה שאינו מסוג message.

משתנים של סוגי הודעות מייצגים את כל הבקשות והתגובות של HTTP. משתני הזרימה המובנים של Edge request, response ו-message הם מסוג הודעה. מידע נוסף על משתני הודעות זמין בחומר העזר בנושא משתנים.

steps.messagevalidation.Failed 500 השגיאה הזו מתרחשת אם המדיניות SOAPMessageValidation לא מאמתת את המטען הייעודי (payload) של הודעת הקלט מול סכימת XSD או ההגדרה של WSDL. זה יקרה גם אם בהודעת המטען הייעודי (payload) יש JSON או XML לא תקינים.

שגיאות בפריסה

השגיאות האלה יכולות להתרחש כשפורסים שרת proxy שכולל את המדיניות הזו.

שם השגיאה סיבה תיקון
InvalidResourceType הרכיב <ResourceURL> במדיניות SOAPMessageValidation מוגדר לסוג משאב שלא נתמך במדיניות.
ResourceCompileFailed סקריפט המשאב שמפנה לרכיב <ResourceURL> במדיניות SOAPMessageValidation מכיל שגיאה שמונעת את ההידור שלו.
RootElementNameUnspecified הרכיב <Element> במדיניות SOAPMessageValidation לא מכיל את השם של רכיב הבסיס.
InvalidRootElementName הרכיב <Element> במדיניות SOAPMessageValidation מכיל שם של רכיב בסיס שלא תואם לכללי ה-XML למתן שמות חוקיים לרכיבים.

מדיניות SAMLAssertion

בקטע הזה מתוארים קודי התקלה והודעות השגיאה שהוחזרו ומשתני השגיאה שמוגדרים על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת את המידע הזה אם אתם מפתחים כללי כשל כדי לטפל בתקלות. מידע נוסף זמין במאמר מה צריך לדעת? מידע על שגיאות שקשורות למדיניות וטיפול פגמים.

שגיאות פריסה

השגיאות האלו עשויות להתרחש כאשר פורסים שרת proxy שמכיל את המדיניות הזו.

שם השגיאה סיבה תיקון
SourceNotConfigured אחד או יותר מהרכיבים הבאים בהצהרה של אימות SAML המדיניות לא מוגדרת או ריקה: <Source>, <XPath>, <Namespaces>, <Namespace>.
TrustStoreNotConfigured אם הרכיב <TrustStore> ריק או לא מצוין אימות מדיניות SAMLAssertion, הפריסה של שרת ה-proxy ל-API נכשלת. דרושה Trust Store חוקית.
NullKeyStoreAlias אם רכיב הצאצא <Alias> ריק או לא מצוין ברכיב <Keystore> של יצירת מדיניות טענת נכוֹנוּת (assertion) של SAML, ואז הפריסה של ה-API שרת ה-proxy נכשל. נדרש כינוי חוקי של Keystore.
NullKeyStore אם רכיב הצאצא <Name> ריק או לא מצוין ברכיב <Keystore> של מדיניות GenerateSAMLAssertion ואז הפריסה של ה-API שרת ה-proxy נכשל. נדרש שם חוקי של מאגר מפתחות.
NullIssuer אם הרכיב <Issuer> ריק או לא מצוין ב-Generate SAML מדיניות טענת נכוֹנוּת (assertion), גם אם הפריסה של שרת ה-proxy ל-API נכשלת. א' נדרש ערך <Issuer> חוקי.

משתני כשל

המשתנים האלה מוגדרים כשמתרחשת שגיאה בסביבת זמן הריצה. מידע נוסף זמין במאמר מה צריך לדעת? על שגיאות שקשורות למדיניות.

משתנים איפה דוגמה
fault.name="fault_name" fault_name הוא שם השגיאה. שם השגיאה הוא החלק האחרון בקוד השגיאה. fault.name = "InvalidMediaTpe"
GenerateSAMLAssertion.failed בשביל הגדרה של מדיניות אימות של טענת נכוֹנוּת (assertion) של 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>

המדיניות בנושא יתרונות מרכזיים של שירות

בקטע הזה מתוארים קודי השגיאה והודעות השגיאה שהוחזרו, ומשתני התקלה שמוגדרים על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת את המידע הזה אם אתם מפתחים כללי כשל כדי לטפל בתקלות. מידע נוסף זמין במאמר מה צריך לדעת? מידע על שגיאות שקשורות למדיניות וטיפול פגמים.

שגיאות זמן ריצה

השגיאות האלה עשויות להתרחש כשהמדיניות מופעלת.

קוד תקלה סטטוס HTTP סיבה תיקון
steps.servicecallout.ExecutionFailed 500

השגיאה הזו יכולה לקרות כאשר:

  • המדיניות נדרשת לטפל בקלט שגוי או לא חוקי מסיבה אחרת.
  • שירות היעד העורפי מחזיר סטטוס שגיאה (כברירת מחדל, 4xx או 5xx).
steps.servicecallout.RequestVariableNotMessageType 500 המשתנה 'בקשה' שצוין במדיניות אינו מסוג 'הודעה'. לדוגמה, אם מדובר במחרוזת או בסוג אחר שאינו הודעה, ותופיע השגיאה הזו.
steps.servicecallout.RequestVariableNotRequestMessageType 500 המשתנה 'בקשה' שצוין במדיניות אינו מסוג 'הודעת בקשה'. עבור לדוגמה, אם מדובר בסוג תגובה, תוצג השגיאה הזו.

שגיאות פריסה

השגיאות האלו עשויות להתרחש כאשר פורסים שרת proxy שמכיל את המדיניות הזו.

שם השגיאה סיבה תיקון
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> לא ניתן לקבוע ערך בתוך הרכיב Spike Arrest המדיניות בנושא הרכיב הזה הוא חובה ומשמש לציון שיעור השהיות השיא ב- בפורמט intpm או intps.
policies.ratelimit.InvalidMessageWeight 500 השגיאה הזו מתקבלת אם הערך שצוין לרכיב <MessageWeight> באמצעות משתנה זרימה אינו חוקי (ערך שאינו מספר שלם).
policies.ratelimit.SpikeArrestViolation 429

חריגה ממגבלת הקצב של יצירת הבקשות.

שגיאות פריסה

השגיאות האלו עשויות להתרחש כאשר פורסים שרת proxy שמכיל את המדיניות הזו.

שם השגיאה סיבה תיקון
InvalidAllowedRate אם שיעור המעצרים של העלייה החדה צוין ברכיב <Rate> של 'מעצר העליונות' המדיניות היא לא מספר שלם, או אם הסיומת של שיעור ההמרה לא כוללת את ps או את pm, הפריסה של שרת ה-proxy ל-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>

המדיניות בנושא StatStatsCollector

בקטע הזה מתוארות הודעות השגיאה ומשתני הזרימה שמוגדרים כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת אם מפתחים כללים לתקלה בשרת proxy. מידע נוסף זמין במאמר מה צריך לדעת על שגיאות מדיניות ועל טיפול בפגמים.

שגיאות בזמן ריצה

ללא.

שגיאות בפריסה

שם השגיאה סיבה תיקון
UnsupportedDatatype אם סוג המשתנה שצוין על ידי המאפיין ref ברכיב <Statistic> של מדיניות StatStats Collector (אוסף הנתונים הסטטיסטיים) לא נתמך, הפריסה של שרת ה-proxy של ה-API תיכשל. סוגי הנתונים הנתמכים הם string, integer, float, long, double ו-boolean.
InvalidName אם השם שמשמש להפניה לנתונים שנאספים עבור המשתנה שצוין, שהוגדר בתוך הרכיב <Statistic> של מדיניות StatStats Collector (אוסף הנתונים הסטטיסטיים) מתנגש עם משתנה שהוגדר על ידי המערכת, הפריסה של שרת ה-proxy של ה-API תיכשל. חלק מהמשתנים המוגדרים על ידי המערכת הם organization ו-environment.
DatatypeMissing אם סוג המשתנה שצוין על ידי המאפיין ref ברכיב <Statistic> של מדיניות StatStats Collector (אוסף הנתונים הסטטיסטיים), הפריסה של שרת ה-proxy של ה-API תיכשל.

משתני שבר

ללא.

המדיניות שלVerifyAPIKey

בקטע הזה מתוארים קודי השגיאה והודעות השגיאה שהוחזרו, ומשתני התקלה שמוגדרים על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת את המידע הזה אם אתם מפתחים כללי כשל כדי לטפל בתקלות. מידע נוסף זמין במאמר מה צריך לדעת? מידע על שגיאות שקשורות למדיניות וטיפול פגמים.

שגיאות זמן ריצה

השגיאות האלה עשויות להתרחש כשהמדיניות מופעלת.

קוד תקלה סטטוס HTTP סיבה
keymanagement.service.CompanyStatusNotActive 401 לחברה המשויכת לאפליקציית המפתח, שיש לה את מפתח ה-API שבו השתמשת, יש סטטוס לא פעיל. כשסטטוס של חברה מוגדר כלא פעיל, לא ניתן לגשת מפתחים או אפליקציות שמשויכים לאותה חברה. מנהל חשבון ארגוני יכול לשנות את הסטטוס של חברה באמצעות ממשק ה-API לניהול. למידע נוסף, ראו הגדרת הסטטוס של חברה מסוימת.
keymanagement.service.DeveloperStatusNotActive 401

המפתח שיצר את האפליקציה למפתחים שיש לו את מפתח ה-API שבו השתמשת סטטוס לא פעיל. כשהסטטוס של מפתח אפליקציות מוגדר כלא פעיל, כל האפליקציות למפתחים שנוצרו על ידי אותו מפתח יושבתו. משתמש עם הרשאת אדמין עם ההרשאות המתאימות (למשל, אדמין ארגוני) יכול לשנות את הסטטוס של מפתח בדרכים הבאות דרכים:

keymanagement.service.invalid_client-app_not_approved 401 האפליקציה למפתחים שמשויכת למפתח ה-API מבוטלת. אפליקציה שבוטלה לא יכולה לגשת למוצרי API ולא להפעיל אף ממשק API שמנוהל על ידי Apigee Edge. מנהל חשבון ארגוני יכול לשנות את הסטטוס של אפליקציה למפתחים באמצעות ממשק ה-API לניהול. ראו אישור או ביטול של אפליקציית המפתחים.
oauth.v2.FailedToResolveAPIKey 401 המדיניות מצפה למצוא את מפתח ה-API במשתנה שמצוין במדיניות &lt;APIKey&gt; רכיב. השגיאה הזו מתרחשת כשהערך צפוי אינו קיים (לא ניתן לפענח אותו).
oauth.v2.InvalidApiKey 401 Edge התקבל מפתח API, אבל הוא לא תקין. כש-Edge מחפש את המפתח הוא חייב להתאים בדיוק לנתונים שנשלחו בבקשה. אם ה-API פעל קודם צריך לוודא שהמפתח לא נוצר מחדש. אם המפתח נוצר מחדש, יוצגו לך השגיאה הזו מופיעה אם מנסים להשתמש במפתח הישן. מידע נוסף זמין במאמר רישום אפליקציות וניהול API .
oauth.v2.InvalidApiKeyForGivenResource 401 התקבל מפתח API על ידי Edge, והוא תקין. עם זאת, הוא לא תואם מפתח שאושר באפליקציה למפתחים המשויך לשרת ה-proxy ל-API דרך מוצר.

שגיאות פריסה

השגיאות האלו עשויות להתרחש כאשר פורסים שרת proxy שמכיל את המדיניות הזו.

שם השגיאה סיבה
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>

מדיניות אימותJWS

בקטע הזה מתוארים קודי התקלות והודעות השגיאה שמוחזרים, ומשתני השגיאה שמוגדרים על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת אם אתם מפתחים כללים לתיקון תקלות. מידע נוסף זמין במאמר מה צריך לדעת על שגיאות מדיניות ועל טיפול בפגמים.

שגיאות בזמן ריצה

השגיאות האלה יכולות להתרחש כשהמדיניות מופעלת.

קוד שגיאה סטטוס HTTP מופיע כאשר
steps.jws.AlgorithmInTokenNotPresentInConfiguration 401 מופיע כשמדיניות האימות כוללת כמה אלגוריתמים
steps.jws.AlgorithmMismatch 401 האלגוריתם שצוין בכותרת במדיניות Generate (יצירה) לא תאם את האלגוריתם הצפוי במדיניות האימות. האלגוריתמים שצוינו צריכים להתאים.
steps.jws.ContentIsNotDetached 401 <DetachedContent> צוין כשה-JWS לא מכיל מטען ייעודי (payload) של תוכן מנותק.
steps.jws.FailedToDecode 401 המדיניות לא הצליחה לפענח את ה-JWS. יכול להיות שה-JWS פגום.
steps.jws.InsufficientKeyLength 401 למפתח קטן מ-32 בייטים לאלגוריתם HS256
steps.jws.InvalidClaim 401 כאשר חסרה תלונה על הפרת זכויות יוצרים או תלונה על הפרת זכויות יוצרים, או חוסר התאמה בכותרת או בכותרת חסרה.
steps.jws.InvalidCurve 401 העקומה שצוינה על ידי המפתח אינה חוקית עבור האלגוריתם 'עקומה אליפטית'.
steps.jws.InvalidJsonFormat 401 נמצא JSON לא חוקי בכותרת ה-JWS.
steps.jws.InvalidJws 401 השגיאה הזו מתרחשת כאשר אימות החתימה של JWS נכשל.
steps.jws.InvalidPayload 401 המטען הייעודי של JWS לא חוקי.
steps.jws.InvalidSignature 401 <DetachedContent> לא נכלל וב-JWS יש מטען ייעודי (payload) נפרד.
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 ב-JWK החתום לא רשום ב-JWKS.
steps.jws.UnhandledCriticalHeader 401 כותרת שנמצאה על ידי המדיניות 'אימות JWS' בכותרת crit לא רשומה ב-KnownHeaders.
steps.jws.UnknownException 401 אירעה חריגה לא ידועה.
steps.jws.WrongKeyType 401 צוין סוג שגוי של מפתח. לדוגמה, אם ציינת מפתח RSA לאלגוריתם Elliptic Curve, או מפתח עקומה לאלגוריתם RSA.

שגיאות בפריסה

השגיאות האלה יכולות להתרחש כשפורסים שרת proxy שכולל את המדיניות הזו.

שם השגיאה מופיע כאשר
InvalidAlgorithm הערכים החוקיים היחידים הם: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

שגיאות אפשריות אחרות בפריסה.

משתני כשל

המשתנים האלה מוגדרים כשמתרחשת שגיאה בסביבת זמן הריצה. מידע נוסף זמין במאמר מה צריך לדעת? על שגיאות שקשורות למדיניות.

משתנים איפה דוגמה
fault.name="fault_name" fault_name הוא שם השגיאה, כפי שמצוין בטבלה שגיאות זמן ריצה שלמעלה. שם השגיאה הוא החלק האחרון בקוד השגיאה. fault.name Matches "TokenExpired"
JWS.failed כל כללי המדיניות של JWS מגדירים את אותו משתנה במקרה של כשל. jws.JWS-Policy.failed = true

דוגמה לתגובת שגיאה

לטיפול בשגיאות, השיטה המומלצת היא להעתיק את החלק errorcode של השגיאה תשובה. אין להסתמך על הטקסט שבfaultstring, כי הוא עשוי להשתנות.

דוגמה לכלל שגוי

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

מדיניות אימותJWT

בקטע הזה מתוארים קודי התקלות והודעות השגיאה שמוחזרים, ומשתני השגיאה שמוגדרים על ידי 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 למפתח עם פחות מ-32 בייטים לאלגוריתם HS256, פחות מ-48 בייטים לאגוריתמי HS386 ופחות מ-64 בייטים לאלגוריתם HS512.
steps.jwt.InvalidClaim 401 כאשר חסרה תלונה על הפרת זכויות יוצרים או תלונה על הפרת זכויות יוצרים, או חוסר התאמה בכותרת או בכותרת חסרה.
steps.jwt.InvalidCurve 401 העקומה שצוינה על ידי המפתח אינה חוקית עבור האלגוריתם 'עקומה אליפטית'.
steps.jwt.InvalidJsonFormat 401 נמצא JSON לא חוקי בכותרת או במטען הייעודי (payload).
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 לאלגוריתם Elliptic Curve, או מפתח עקומה לאלגוריתם RSA.

שגיאות בפריסה

השגיאות האלה יכולות להתרחש כשפורסים שרת proxy שכולל את המדיניות הזו.

שם השגיאה סיבה תיקון
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> עם אלגוריתמים של Family HS או אם נעשה שימוש באלמנט <SecretKey> עם אלגוריתמים של משפחת RSA, הפריסה תיכשל.

משתני כשל

המשתנים האלה מוגדרים כשמתרחשת שגיאה בסביבת זמן הריצה. מידע נוסף זמין במאמר מה צריך לדעת? על שגיאות שקשורות למדיניות.

משתנים איפה דוגמה
fault.name="fault_name" fault_name הוא שם השגיאה, כפי שמצוין בטבלה שגיאות זמן ריצה שלמעלה. שם השגיאה הוא החלק האחרון בקוד השגיאה. fault.name Matches "TokenExpired"
JWT.failed כל כללי המדיניות של JWT מגדירים את אותו משתנה במקרה של כשל. JWT.failed = true

דוגמה לתגובת שגיאה

קודי תקלות במדיניות JWT

לטיפול בשגיאות, השיטה המומלצת היא להעתיק את החלק errorcode של השגיאה תשובה. אין להסתמך על הטקסט שבfaultstring, כי הוא עשוי להשתנות.

דוגמה לכלל שגוי

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

המדיניות בנושא XMLThreatProtection

בקטע הזה מתוארים קודי השגיאה והודעות השגיאה שהוחזרו, ומשתני התקלה שמוגדרים על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת את המידע הזה אם אתם מפתחים כללי כשל כדי לטפל בתקלות. מידע נוסף זמין במאמר מה צריך לדעת? מידע על שגיאות שקשורות למדיניות וטיפול פגמים.

שגיאות זמן ריצה

השגיאות האלה עשויות להתרחש כשהמדיניות מופעלת.

קוד תקלה סטטוס HTTP סיבה תיקון
steps.xmlthreatprotection.ExecutionFailed 500 המדיניות XMLThreatProtection יכולה לגרום לסוגים שונים של שגיאות ביצוע שנכשלו. רוב השגיאות האלה מתרחשות כשחורגים מסף מסוים שנקבע במדיניות. האלה סוגי שגיאות כוללים: אורך שם הרכיב, מספר ילדים, עומק צמתים, מספר מאפיינים, אורך שם המאפיין, ועוד רבים אחרים. אפשר לראות את הרשימה המלאה בנושא פתרון בעיות שקשורות לשגיאות זמן ריצה במדיניות XMLThreatProtection.
steps.xmlthreatprotection.InvalidXMLPayload 500 השגיאה הזו מתקבלת אם המטען הייעודי (payload) של הודעת הקלט שצוין על ידי הרכיב <Source> של מדיניות XMLThreatProtection הוא לא מסמך XML חוקי.
steps.xmlthreatprotection.SourceUnavailable 500 השגיאה הזו מתקבלת אם ההודעה המשתנה שמצוין ברכיב <Source> הוא:
  • לא כולל (לא זמין בתהליך הספציפי שבו המדיניות מופעלת)
  • אינו אחד מהערכים החוקיים: request, response, או message
steps.xmlthreatprotection.NonMessageVariable 500 השגיאה הזו מתקבלת אם הרכיב <Source> מוגדר למשתנה אינו מסוג message.

הערות:

  • שם השגיאה ExecutionFailed הוא שם ברירת המחדל של השגיאה והוא יוחזר ללא קשר ל- סוג השגיאה שזוהה, אבל אפשר לשנות את ברירת המחדל הזאת על ידי הגדרה של נכס ברמת הארגון. כשהמאפיין הזה מוגדר, שם השגיאה ישקף את שגיאה. לדוגמה, "חריג את הטקסט" או "AttrValueExceeded". בהערות השימוש מוסבר פרטים.
  • סטטוס ה-HTTP 500 הוא ברירת המחדל. עם זאת, ניתן לשנות את מצב HTTP ל-400 שגיאות בתהליך הבקשה על ידי הגדרת נכס ברמת הארגון. בהערות השימוש מוסבר פרטים.

שגיאות פריסה

ללא.

משתני כשל

המשתנים האלה מוגדרים כשמתרחשת שגיאה בסביבת זמן הריצה. מידע נוסף זמין במאמר מה צריך לדעת? על שגיאות שקשורות למדיניות.

משתנים איפה דוגמה
fault.name="fault_name" fault_name הוא שם השגיאה, כפי שמצוין בטבלה שגיאות זמן ריצה שלמעלה. שם השגיאה הוא החלק האחרון בקוד השגיאה. fault.name Matches "SourceUnavailable"
xmlattack.policy_name.failed policy_name הוא השם שצוין על ידי המשתמש של המדיניות שגרמה לבעיה. xmlattack.XPT-SecureRequest.failed = true

דוגמה לתגובת שגיאה

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

דוגמה לכלל שגוי

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

מדיניות XMLtoJSON

בקטע הזה מתוארים קודי השגיאה והודעות השגיאה שהוחזרו, ומשתני התקלה שמוגדרים על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת את המידע הזה אם אתם מפתחים כללי כשל כדי לטפל בתקלות. מידע נוסף זמין במאמר מה צריך לדעת? מידע על שגיאות שקשורות למדיניות וטיפול פגמים.

שגיאות זמן ריצה

השגיאות האלה עשויות להתרחש כשהמדיניות מופעלת.

קוד תקלה סטטוס HTTP סיבה תיקון
steps.xmltojson.ExecutionFailed 500 השגיאה הזו מתקבלת כשהמטען הייעודי (payload) של הקלט (XML) ריק, או כאשר ה-XML של הקלט לא תקין או שגוי.
steps.xmltojson.InCompatibleType 500 שגיאה זו מתרחשת אם סוג המשתנה מוגדר ברכיב <Source> הרכיב <OutputVariable> לא זהה. חשוב לציין שסוג המשתנים שכלול ברכיב <Source> והרכיב <OutputVariable> תואם.
steps.xmltojson.InvalidSourceType 500 השגיאה הזו מתקבלת אם סוג המשתנה שמשמש להגדרת הרכיב <Source> הוא לא חוקי.סוגי המשתנים החוקיים הם הודעה ומחרוזת.
steps.xmltojson.OutputVariableIsNotAvailable 500 שגיאה זו מתרחשת אם המשתנה שצוין ברכיב <Source> של ה-XML כדי מדיניות JSON היא מסוג מחרוזת והרכיב <OutputVariable> לא מוגדר. הרכיב <OutputVariable> הוא חובה כשהמשתנה מוגדר בעמודה <Source> הוא מסוג מחרוזת.
steps.xmltojson.SourceUnavailable 500 השגיאה הזו מתקבלת אם ההודעה המשתנה שמצוין ברכיב <Source> במדיניות XML ל-JSON הוא:
  • לא בהיקף (לא זמין בתהליך הספציפי שבו המדיניות מופעלת) או
  • לא ניתן לפתרון (לא מוגדר)

שגיאות פריסה

השגיאות האלו עשויות להתרחש כאשר פורסים שרת proxy שמכיל את המדיניות הזו.

שם השגיאה סיבה תיקון
EitherOptionOrFormat אם אחד מהרכיבים <Options> או <Format> אינו שהוצהרה במדיניות XML ל-JSON, הפריסה של שרת ה-proxy ל-API נכשלת.
UnknownFormat אם לרכיב <Format> במדיניות XML ל-JSON יש ערך לא ידוע מוגדר, פריסת שרת ה-proxy של ה-API נכשלת. דוגמאות לפורמטים מוגדרים מראש: xml.com, yahoo, google וגם badgerFish.

משתני כשל

המשתנים האלה מוגדרים כשמתרחשת שגיאה בסביבת זמן הריצה. מידע נוסף זמין במאמר מה צריך לדעת? על שגיאות שקשורות למדיניות.

משתנים איפה דוגמה
fault.name="fault_name" fault_name הוא שם השגיאה, כפי שמצוין בטבלה שגיאות זמן ריצה שלמעלה. שם השגיאה הוא החלק האחרון בקוד השגיאה. fault.name = "SourceUnavailable"
xmltojson.policy_name.failed policy_name הוא השם שצוין על ידי המשתמש של המדיניות שגרמה לבעיה. xmltojson.XMLtoJSON-1.failed = true

דוגמה לתגובת שגיאה

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

דוגמה לכלל שגוי

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

מדיניות XSLTransform

שגיאות בזמן ריצה

השגיאות האלה יכולות להתרחש כשהמדיניות מופעלת.

קוד שגיאה סטטוס HTTP סיבה תיקון
steps.xsl.XSLSourceMessageNotAvailable 500 השגיאה הזו מתרחשת אם משתנה ההודעה או המחרוזת שצוינו ברכיב <Source> של מדיניות ה-XSL Transform הם מחוץ להיקף (לא זמין בתהליך הספציפי שבו המדיניות מופעלת) או שלא ניתן לפענח אותם (לא מוגדר).
steps.xsl.XSLEvaluationFailed 500 השגיאה הזו מתרחשת אם המטען הייעודי (payload) ב-XML של הקלט אינו זמין או שפורמטו שגוי, או אם מדיניות XSLTransform נכשלת או שלא ניתן לבצע טרנספורמציה של קובץ ה-XML של הקלט בהתאם לכללי הטרנספורמציה שצוינו בקובץ ה-XSL. יכולות להיות סיבות רבות לכישלון של מדיניות XSLTransform. סיבת הכשל בהודעת השגיאה תספק מידע נוסף על הסיבה.

שגיאות בפריסה

השגיאות האלה יכולות להתרחש כשפורסים שרת proxy שכולל את המדיניות הזו.

שם השגיאה סיבה תיקון
XSLEmptyResourceUrl אם הרכיב <ResourceURL> במדיניות XSL Transform ריק, הפריסה של שרת ה-proxy של ה-API תיכשל.
XSLInvalidResourceType אם סוג המשאב שצוין באלמנט <ResourceURL> של מדיניות XSL Transform אינו מסוג xsl, הפריסה של שרת ה-proxy של ה-API תיכשל.