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

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

SharedFlowNotFound

קוד שגיאה

flow.SharedFlowNotFound

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

{
    "fault": {
        "faultstring": "Shared Flow shared_flow_name Not Found",
        "detail": {
            "errorcode": "flow.SharedFlowNotFound"
        }
    }
}

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

הסיבות האפשריות לשגיאה הזו הן:

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

הסיבה: תהליך העבודה המשותף לא זמין

במדיניות בנושא יתרונות מרכזיים של זרימה, אם הזרימה המשותפת שמוגדרת בתוך הרכיב <SharedFlowBundle> לא קיימת בסביבה, השגיאה הזו מתרחשת.

לדוגמה, אם הרכיב <SharedFlowBundle> במדיניות של נכסי היתרונות המרכזיים של זרימה מכיל תהליך משותף בשם SharedFlow_Sample, ואם התהליך המשותף הזה לא קיים בסביבה, תתקבל השגיאה.

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

{
    "fault": {
        "faultstring": "Shared Flow SharedFlow_Sample Not Found",
        "detail": {
            "errorcode": "flow.SharedFlowNotFound"
        }
    }
}

אבחון

  1. זיהוי התהליך המשותף שאינו קיים. אפשר למצוא את המזהה ברכיב faultstring של תגובת השגיאה. לדוגמה, בשדה faultstring הבא, השם של תהליך השיתוף הוא SharedFlow_Sample:

    "faultstring": "Shared Flow SharedFlow_Sample Not Found"

  2. עליך לעיין בכל כללי המדיניות בנושא הסבר על זרימה בשרת ה-API הספציפי שבו אירעה הכשל. בודקים אם יש מדיניות כלשהי של הסבר על זרימה שבה צוין רכיב <SharedFlowBundle> עם שם הזרימה שזוהה בשלב 1 למעלה.

    לדוגמה, המדיניות הבאה מציינת שה-<SharedFlowBundle> הוא SharedFlow_Sample, שתואם למה שמופיע במחרוזת השגיאה.

    <FlowCallout async="false" continueOnError="false" enabled="true" name="Auth-Flow-Callout">
       <DisplayName>Auth Flow Callout</DisplayName>
       <SharedFlowBundle>SharedFlow_Sample</SharedFlowBundle>
    </FlowCallout>
    
  3. בממשק המשתמש של Edge, בודקים אם התהליך המשותף קיים בקטע ממשקי API > זרימות משותפות. אם הוא לא קיים, זו הסיבה לשגיאה. (חשוב לשים לב שבממשק המשתמש החדש של Edge אפשר למצוא את האפשרות 'תהליכים משותפים' בכרטיסייה 'פיתוח').

    לדוגמה, בצילום המסך שמוצג למטה, התהליך המשותף SharedFlow_Sample לא קיים.

    מכיוון שהתהליך המשותף הזה לא קיים, תקבלו את קוד השגיאה:

    flow.SharedFlowNotFound
    

רזולוציה

יש לוודא שהתהליך המשותף שצוין באלמנט <SharedFlowBundle> במדיניות של הסבר על הזרימה של הזרימה, קיים ונפרס בסביבה הספציפית שבה בקשת ה-API מופעלת.

יש כמה דרכים לטיפול בבעיה:

  1. יוצרים תהליך משותף בשם SharedFlow_Sample כפי שמוצג למטה, ופורסים אותו בסביבת הבדיקה כפי שמוצג בהמשך:

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

    <FlowCallout async="false" continueOnError="false" enabled="true" name="Auth-Flow-Callout">
      <DisplayName>Auth Flow Callout</DisplayName>
      <SharedFlowBundle>SharedFlow_demo</SharedFlowBundle>
    </FlowCallout>
    

    אם תבצעו קריאה ל-API לסביבת הבדיקה, השגיאה לא תופיע יותר, מפני שההסבר על הזרימה נפרס גם בסביבת הבדיקה.

הסיבה: תהליך העבודה המשותף לא נפרס

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

לדוגמה, אם הרכיב <SharedFlowBundle> במדיניות של נכסי היתרונות המרכזיים של זרימה מכיל תהליך משותף בשם SharedFlow_example, שלא נפרס בסביבה הספציפית שבה נשלחת בקשת ה-API, השגיאה תתרחש.

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

{
    "fault": {
        "faultstring": "Shared Flow Shared-Flow_example Not Found",
        "detail": {
            "errorcode": "flow.SharedFlowNotFound"
        }
    }
}

אבחון

  1. זיהוי התהליך המשותף שלא נפרס. אפשר למצוא את המזהה ברכיב faultstring של תגובת השגיאה. לדוגמה, בשדה faultstring הבא, השם של תהליך השיתוף הוא Shared-Flow_example:

    "faultstring": "Shared Flow Shared-Flow_example Not Found"

  2. בממשק המשתמש של Edge, בודקים אם התהליך המשותף הזה נפרס.

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

    מכיוון שהתהליך המשותף הזה לא נפרס, מופיע קוד השגיאה:

    flow.SharedFlowNotFound
    

רזולוציה

יש לוודא שהתהליך המשותף שצוין באלמנט <SharedFlowBundle> במדיניות של הסבר על הזרימה של הזרימה, קיים ונפרס בסביבה הספציפית שבה בקשת ה-API מופעלת.

כדי לתקן את הדוגמה שלמעלה, צריך לפרוס את התהליך המשותף שנקרא SharedFlow_example בסביבת הבדיקה, כפי שמוצג כאן:

אם תבצעו קריאה ל-API לסביבת הבדיקה, השגיאה לא תופיע יותר, מפני שההסבר על הזרימה נפרס גם בסביבת הבדיקה.