تحديد وحلّ المشاكل المتعلقة بخطأ وقت تشغيل سياسة FlowCallout

أنت تعرض مستندات 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. راجِع جميع سياسات 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>
    
  3. في واجهة مستخدم Edge، تحقق مما إذا كان هذا التدفق المشترك موجودًا ضمن APIs > المسارات المشتركة: إذا لم تكن موجودة، فهذا هو سبب الخطأ. (لاحظ أنه في واجهة مستخدم New Edge، يمكنك العثور على "التدفقات المشتركة" ضمن علامة التبويب "تطوير".)

    على سبيل المثال، في لقطة الشاشة الموضّحة أدناه، لا يتوفّر المسار المشترك SharedFlow_Sample.

    وبسبب عدم توفّر هذا المسار المشترك، ستتلقّى رمز الخطأ:

    flow.SharedFlowNotFound
    

الدقة

يُرجى التأكُّد من أنّ المسار المشترك المحدّد في العنصر <SharedFlowBundle> ضمن سياسة وسيلة شرح التدفق موجود ومنشور في البيئة المحدّدة التي يتم فيها تنفيذ طلب البيانات من واجهة برمجة التطبيقات.

يمكنك اختيار إحدى الطرق التالية لمعالجة المشكلة:

  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>
    

    في حال إجراء طلب بيانات من واجهة برمجة التطبيقات إلى بيئة الاختبار، لن تظهر لك بعد ذلك لأنه تم نشر وسيلة شرح التدفق إلى بيئة الاختبار أيضًا.

السبب: لم يتم نشر المسار المشترك

في حال عدم نشر التدفق المشترك المحدّد في العنصر <SharedFlowBundle> في سياسة وسيلة شرح التدفق، سيحدث هذا الخطأ.

على سبيل المثال، إذا كان عنصر <SharedFlowBundle> في سياسة نصائح حول الخطوات يحتوي على مسار مشترَك يُسمى SharedFlow_example لم يتم نشره في البيئة المحدّدة التي يتم فيها تقديم طلب البيانات من واجهة برمجة التطبيقات، سيحدث الخطأ.

مثال على رسالة الخطأ

{
    "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> ضمن سياسة وسيلة شرح التدفق موجود ومنشور في البيئة المحدّدة التي يتم فيها تنفيذ طلب البيانات من واجهة برمجة التطبيقات.

لتصحيح المثال أعلاه، انشر التدفق المشترك المسمى SharedFlow_example في بيئة الاختبار كما هو موضَّح أدناه:

إذا أجريت طلب بيانات من واجهة برمجة التطبيقات إلى بيئة الاختبار، لن يظهر لك الخطأ بعد ذلك، لأنّه يتم نشر وسيلة شرح مسار الإحالة الناجحة في بيئة الاختبار أيضًا.