شما در حال مشاهده اسناد 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 خاصی که در آن شکست رخ داده است، بررسی کنید. بررسی کنید که آیا خط مشی 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 > جریان های مشترک وجود دارد یا خیر. اگر وجود نداشته باشد، پس علت خطا همین است. (توجه داشته باشید که در رابط کاربری New Edge، میتوانید جریانهای اشتراکگذاری شده را در زیر تب Develop پیدا کنید.)
به عنوان مثال، در تصویر زیر، جریان مشترک
SharedFlow_Sample
وجود ندارد.چون این جریان مشترک وجود ندارد، کد خطا را دریافت می کنید:
flow.SharedFlowNotFound
قطعنامه
اطمینان حاصل کنید که جریان مشترک مشخص شده در عنصر <SharedFlowBundle>
در خط مشی Flow Callout، وجود داشته باشد و در محیط خاصی که درخواست API در آن اجرا می شود، وجود داشته باشد.
می توانید یکی از راه های زیر را برای رفع مشکل انتخاب کنید:
یک جریان مشترک به نام
SharedFlow_Sample
مانند شکل زیر ایجاد کنید و آن را در محیط آزمایشی مانند شکل زیر مستقر کنید:از یک جریان مشترک از قبل موجود استفاده کنید که در محیط آزمایشی در خط مشی 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 در محیط آزمایش نیز مستقر شده است.