אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X. מידע
SharedFlowNotFound
קוד שגיאה
flow.SharedFlowNotFound
גוף התגובה לשגיאה
{
"fault": {
"faultstring": "Shared Flow shared_flow_name Not Found",
"detail": {
"errorcode": "flow.SharedFlowNotFound"
}
}
}
סיבות אפשריות
הסיבות האפשריות לשגיאה הזו:
| הסיבה | תיאור |
| תהליך משותף לא זמין | התהליך המשותף לא קיים. |
| תהליך משותף לא נפרס | התהליך המשותף קיים אבל לא נפרס. |
הסיבה: התהליך המשותף לא זמין
במדיניות Flow Callout, אם זרימת הנתונים המשותפת שמוגדרת ברכיב <SharedFlowBundle> לא קיימת בסביבה, השגיאה הזו מתרחשת.
לדוגמה, אם רכיב <SharedFlowBundle> במדיניות Flow Callout מכיל זרימה משותפת בשם SharedFlow_Sample, והזרימה המשותפת הזו לא קיימת בסביבה, השגיאה מתרחשת.
הודעת שגיאה לדוגמה
{
"fault": {
"faultstring": "Shared Flow SharedFlow_Sample Not Found",
"detail": {
"errorcode": "flow.SharedFlowNotFound"
}
}
}
אבחון
מזהים את התהליך המשותף שלא קיים. אפשר למצוא את הערך הזה ברכיב
faultstringשל תגובת השגיאה. לדוגמה, ב-faultstringהבא, השם של התהליך המשותף הואSharedFlow_Sample:"faultstring": "Shared Flow SharedFlow_Sample Not Found"בודקים את כל מדיניות ה-Flow Callout ב-API Proxy הספציפי שבו התרחשה הכשל. בודקים אם יש מדיניות Flow Callout שבה רכיב
<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>בממשק המשתמש של Edge, בודקים אם התהליך המשותף הזה קיים בקטע APIs > Shared Flows (ממשקי API > תהליכים משותפים). אם הוא לא קיים, זה הגורם לשגיאה. (שימו לב: בממשק המשתמש החדש של Edge, אפשר למצוא את Shared Flows בכרטיסייה Develop).
לדוגמה, בצילום המסך שמוצג למטה, אין זרימת נתונים משותפת
SharedFlow_Sample.
מכיוון שהתהליך המשותף הזה לא קיים, מופיע קוד השגיאה:
flow.SharedFlowNotFound
רזולוציה
מוודאים שהזרימה המשותפת שצוינה ברכיב <SharedFlowBundle> במדיניות Flow Callout קיימת ושהיא נפרסה בסביבה הספציפית שבה מתבצעת בקשת ה-API.
כדי לפתור את הבעיה, אפשר לנסות:
יוצרים פלואו משותף בשם
SharedFlow_Sampleכמו שמוצג למטה ומפעילים אותו בסביבת הבדיקה כמו שמוצג למטה:
משתמשים ב-Shared Flow שכבר קיים ומוטמע בסביבת הבדיקה במדיניות Flow Callout. לדוגמה, אפשר לציין את הערך SharedFlow_demo במדיניות Flow Callout.
<FlowCallout async="false" continueOnError="false" enabled="true" name="Auth-Flow-Callout"> <DisplayName>Auth Flow Callout</DisplayName> <SharedFlowBundle>SharedFlow_demo</SharedFlowBundle> </FlowCallout>אם תבצעו קריאה ל-API בסביבת הבדיקה, השגיאה לא תופיע יותר כי רכיב ה-Flow Callout נפרס גם בסביבת הבדיקה.
הגורם: תהליך משותף לא נפרס
אם לא בוצע פריסה של הזרימה המשותפת שצוינה ברכיב <SharedFlowBundle> של מדיניות Flow Callout, תופיע השגיאה הזו.
לדוגמה, אם רכיב <SharedFlowBundle> במדיניות Flow Callout מכיל זרימת נתונים משותפת בשם SharedFlow_example שלא נפרסה בסביבה הספציפית שבה מתבצעת בקשת ה-API, השגיאה מתרחשת.
הודעת שגיאה לדוגמה
{
"fault": {
"faultstring": "Shared Flow Shared-Flow_example Not Found",
"detail": {
"errorcode": "flow.SharedFlowNotFound"
}
}
}
אבחון
מזהים את התהליך המשותף שלא נפרס. אפשר למצוא את הערך הזה ברכיב
faultstringשל תגובת השגיאה. לדוגמה, ב-faultstringהבא, השם של התהליך המשותף הואShared-Flow_example:"faultstring": "Shared Flow Shared-Flow_example Not Found"בממשק המשתמש של Edge, בודקים אם רצף הפעולות המשותף הזה נפרס.
לדוגמה, בצילום המסך שלמטה אפשר לראות שקיים זרימת נתונים משותפת
SharedFlow_exampleאבלהיא לא נפרסה.
מכיוון שהתהליך המשותף הזה לא נפרס, מופיע קוד השגיאה:
flow.SharedFlowNotFound
רזולוציה
מוודאים שהזרימה המשותפת שצוינה ברכיב <SharedFlowBundle> במדיניות Flow Callout קיימת ושהיא נפרסה בסביבה הספציפית שבה מבוצעת בקשת ה-API.
כדי לתקן את הדוגמה שלמעלה, צריך לפרוס את הרכיב המשותף שנקרא SharedFlow_example בסביבת הבדיקה, כמו שמוצג בהמשך:

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