פתרון בעיות שגיאות זמן ריצה ב-HTTPModifier

אתם צופים במסמכי התיעוד של Apigee X.
לעיון במסמכי התיעוד של Apigee Edge.

UnresolvedVariable

קוד שגיאה

steps.httpmodifier.UnresolvedVariable

גוף התשובה לשגיאה

{
    "fault": {
        "faultstring": "HTTPModifier[policy_name]: unable to resolve variable [variable_name]",
        "detail": {
            "errorcode": "steps.httpmodifier.UnresolvedVariable"
        }
    }
}

מטרה

השגיאה הזו מתרחשת אם משתנה שצוין במדיניות HTTPModifier הוא אחד מהבאים:

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

אבחון

  1. מזהים את מדיניות HTTPModifier שבה אירעה השגיאה ואת שם המשתנה שלא זמין. אפשר למצוא את שני הפריטים האלה ברכיב faultstring של תגובת השגיאה.

    לדוגמה, בקטע faultstring הבא, שם המדיניות הוא googleBook והמשתנה הוא var:

    "faultstring": "HTTPModifier[googleBook]: unable to resolve variable var"
    
  2. ב-XML של מדיניות HTTPModifier שנכשלה, מוודאים שהשם של המשתנה שבו נעשה שימוש זהה לשם המשתנה שזוהה במחרוזת השגיאה (שלב 1 למעלה).

  3. בודקים אם המשתנה מוגדר וזמין בתהליך העבודה שבו מופעלת מדיניות HTTPModifier.

  4. אם המשתנה הוא:

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

    אז זו הסיבה לשגיאה.

    בודקים אם המשתנה מוגדר באחת מהמדיניות שמופעלות לפני מדיניות HTTPModifier בזרימת הבקשה. אם המשתנה לא הוגדר, תקבלו את קוד השגיאה:

    steps.httpmodifier.UnresolvedVariable
    

רזולוציה

מוודאים שהמשתנה שאליו מתייחסים במדיניות קיים וזמין בתהליך הספציפי, שבו מופעלת מדיניות HTTPModifier.