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

כרגע מוצג התיעוד של 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. משתני הזרימה המובנים של Edge request, response ו-message הם מסוג הודעה. מידע נוסף על משתני הודעות זמין בחומר העזר בנושא משתנים.

steps.assignmessage.UnresolvedVariable 500

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

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

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

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

שם השגיאה סיבה תיקון
InvalidIndex אם האינדקס שצוין ברכיבים <Copy> ו/או <Remove> במדיניות של הקצאת הודעות הוא 0 או מספר שלילי, הפריסה של שרת ה-API של שרת ה-API תיכשל.
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 צוין ערך ספירה לא חוקי בו-זמנית.
ConcurrentRatelimitStepAttachment\
NotAllowedAtProxyEndpoint
אי אפשר לצרף קבצים של מדיניות Ratelimit {0} בו-זמנית בנתיבים של בקשות, תשובות או תקלה בשרת proxy. צריך למקם את המדיניות הזו בנקודת הקצה (Endpoint) של היעד.
ConcurrentRatelimitStepAttachment\
MissingAtTargetEndpoint
חסר קובץ מצורף של מדיניות Ratelimit{0} בו-זמנית בנתיבים של בקשות, תשובות או שגיאות ביעד. חובה למקם את המדיניות הזו בשדות 'Target Request Preflow' , Target Response Postflow ו-DefaultFaultRule.
InvalidTTLForMessageTimeOut ערך ttl לא חוקי בו-זמנית שצוין לגבי הזמן הקצוב לתפוגת ההודעה. הוא חייב להיות מספר שלם חיובי.

משתני שבר

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

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

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

concurrentratelimit.policy_name.failed policy_name הוא השם שצוין על ידי המשתמש של המדיניות שגרמה לשגיאה. concurrentratelimit.CRL-RateLimitPolicy.failed = true

דוגמה לשגיאה

אם חריגה ממגבלת הקצב של יצירת הבקשות, המדיניות מחזירה ללקוח רק את הסטטוס HTTP 503.

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

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

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

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

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

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

קוד שגיאה סטטוס HTTP מופיע כאשר
steps.jws.FailedToDecode 401 המדיניות לא הצליחה לפענח את ה-JWS. יכול להיות שה-JWS פגום.
steps.jws.FailedToResolveVariable 401 מופיע כשמשתנה הזרימה שצוין ברכיב <Source> של המדיניות לא קיים.
steps.jws.InvalidClaim 401 כאשר חסרה תלונה על הפרת זכויות יוצרים או תלונה על הפרת זכויות יוצרים, או חוסר התאמה בכותרת או בכותרת חסרה.
steps.jws.InvalidJsonFormat 401 נמצא 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 של המדיניות. לדוגמה, אם המטען הייעודי של JSON לא מכיל את האובייקט Name, אבל ציינתם את Name כנתיב במדיניות, השגיאה הזו תופיע.
steps.extractvariables.JsonPathParsingFailure 500 השגיאה הזו מתרחשת כשהמדיניות לא יכולה לנתח נתיב JSON ולחלץ נתונים ממשתנה הזרימה שצוין ברכיב Source. בדרך כלל זה קורה אם משתנה הזרימה שצוין ברכיב Source לא קיים בתהליך הנוכחי.
steps.extractvariables.SetVariableFailed 500 השגיאה הזו מתרחשת אם המדיניות לא יכולה להגדיר את הערך למשתנה. השגיאה בדרך כלל מתרחשת כשמנסים להקצות ערכים למספר משתנים שהשמות שלהם מתחילים באותן מילים, בפורמט של ערכים מופרדים באמצעות נקודות.
steps.extractvariables.SourceMessageNotAvailable 500 השגיאה הזו מתרחשת אם המשתנה message שצוין ברכיב Source של המדיניות הוא:
  • לא בהיקף (לא זמין בתהליך הספציפי שבו המדיניות מתבצעת) או
  • לא ניתן לפענח (אינו מוגדר)
steps.extractvariables.UnableToCast 500 השגיאה הזו מתרחשת אם המדיניות לא הצליחה להמיר את הערך שחולץ למשתנה. בדרך כלל זה קורה כשמנסים להגדיר ערך של סוג נתונים אחד למשתנה מסוג נתונים אחר.

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

השגיאות האלה יכולות להתרחש כשפורסים שרת 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, הפריסה של שרת ה-API של שרת ה-API תיכשל. הרכיב Pattern מחייב את שם המשתנה שבו יאוחסנו הנתונים שחולצו.
CannotBeConvertedToNodeset אם במדיניות יש ביטוי XPath שבו הסוג Variable מוגדר כצומת, אבל לא ניתן להמיר את הביטוי לקבוצת צמתים, הפריסה של שרת ה-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 עלולה לגרום לשגיאות ScriptExecution יודעים שנכשלות בסוגים רבים של שגיאות. השגיאות הנפוצות ביותר כוללות: 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 תיכשל. קובץ המקור שאליו מתבצעת הפניה חייב להיות קיים ברמת שרת ה-API של ה-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 עלולה לגרום להרבה סוגים שונים של שגיאות Executionנכשל. רוב השגיאות האלה מתרחשות כאשר קיימת חריגה מסף מסוים שהוגדר במדיניות. סוגי השגיאות האלה כוללים: אורך שם רשומת האובייקט, מספר ערכי האובייקט, ספירת רכיבי המערך, עומק הקונטיינר, אורך ערך מחרוזת המחרוזת. השגיאה הזו מתרחשת גם כשהמטען הייעודי (payload) מכיל אובייקט JSON לא חוקי.
steps.jsonthreatprotection.SourceUnavailable 500 השגיאה הזו מתרחשת אם המשתנה message שצוין ברכיב <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 השגיאה הזו מתרחשת אם המשתנה message שמצוין ברכיב <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>, אבל לא הייתה אפשרות לפענח את המשתנה.

VerifyToken
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
רענוןAccessToken
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
רענוןAccessToken

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

הלקוח ציין סוג מענק שלא נתמך במדיניות (לא רשום ברכיב <SupportedGrantTypes>).

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

הערה: בפעולה ValidAccessToken, שם הכשל כולל את הסיומת הזו: 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 עלולה לגרום לשגיאות ScriptExecutionמניבות מספר סוגים שונים של שגיאות Script. בין סוגי השגיאות הנפוצים: NameError ו-ZeroDivisionError.

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

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

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

משתני שבר

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

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

דוגמה לשגיאה

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

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

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

מדיניות מכסה

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

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

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

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

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

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

משתני שבר

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

משתנים מיקום דוגמה
fault.name="fault_name" fault_name הוא שם התקלה. שם הטעות הוא החלק האחרון בקוד השגיאה. fault.name = "InvalidMediaTpe"
GenerateSAMLAssertion.failed כדי לאמת הגדרות של מדיניות טענת נכונות (assertions) של 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> במדיניות Spike Arrest אינו מספר שלם, או אם הקצב לא כולל את הסיומת 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. מנהלי חשבון ארגוני יכולים לשנות את הסטטוס של אפליקציה למפתחים באמצעות ה-Management API. למידע נוסף, ראו אישור או ביטול של אפליקציה למפתחים.
oauth.v2.FailedToResolveAPIKey 401 המדיניות מצפה למצוא את מפתח ה-API במשתנה שצוין ברכיב <APIKey> של המדיניות. השגיאה הזו מתרחשת כשהמשתנה הצפוי לא קיים (לא ניתן לפתור אותו).
oauth.v2.InvalidApiKey 401 מפתח API התקבל על ידי Edge אבל הוא לא תקין. כש-Edge מחפש את המפתח במסד הנתונים שלו, הוא חייב להיות זהה בדיוק לערך שנשלח בבקשה. אם ה-API פעל בעבר, עליך לוודא שהמפתח לא נוצר מחדש. אם המפתח נוצר מחדש, תופיע השגיאה הזו אם תנסו להשתמש במפתח הישן. מידע נוסף מופיע במאמר רישום אפליקציות וניהול של מפתחות API.
oauth.v2.InvalidApiKeyForGivenResource 401 מפתח API התקבל על ידי Edge והוא תקין. עם זאת, הוא לא תואם למפתח שאושר באפליקציה למפתחים, שמשויך לשרת ה-API של ה-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 עלולה לגרום להרבה סוגים שונים של שגיאות Executionנכשל. רוב השגיאות האלה מתרחשות כאשר קיימת חריגה מסף מסוים שהוגדר במדיניות. דוגמאות השגיאות האלה הן: אורך שם הרכיב, מספר הצאצאים, עומק הצומת, ספירת המאפיינים, אורך שם המאפיין ועוד רבות נוספות. הרשימה המלאה מפורטת בנושא פתרון בעיות של שגיאות זמן ריצה במדיניות XMLThreatProtection.
steps.xmlthreatprotection.InvalidXMLPayload 500 השגיאה הזו מתרחשת אם המטען הייעודי (payload) של הודעת הקלט שצוין ברכיב <Source> של המדיניות XMLThreatProtection אינו מסמך XML חוקי.
steps.xmlthreatprotection.SourceUnavailable 500 השגיאה הזו מתרחשת אם המשתנה message שצוין ברכיב <Source> הוא:
  • לא חלה על המדיניות (לא זמינה בתהליך הספציפי שבו המדיניות מיושמת)
  • אינו אחד מהערכים החוקיים request, response, או message
steps.xmlthreatprotection.NonMessageVariable 500 השגיאה הזו מופיעה אם הרכיב <Source> מוגדר למשתנה מסוג שאינו message.

הערות:

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

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

ללא.

משתני שבר

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

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

דוגמה לשגיאה

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

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

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

מדיניות XMLtoJSON

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

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

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

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