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

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

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"
        }
    }
}

التشخيص

  1. تحديد مسار العمل المشترك غير المتوفّر يمكنك العثور على ذلك في العنصر faultstring من ردّ الخطأ. على سبيل المثال، في faultstring التالي، يكون اسم مسار العمل المشترك هو SharedFlow_Sample:

    "faultstring": "Shared Flow SharedFlow_Sample Not Found"

  2. افحص جميع سياسات Flow Callout في خادم وكيل واجهة برمجة التطبيقات المحدّد الذي حدث فيه الخطأ. تحقَّق مما إذا كانت هناك أي سياسة 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، تحقَّق ممّا إذا كان مسار العمل المشترك هذا متوفّرًا ضمن واجهات برمجة التطبيقات > مسارات العمل المشتركة. إذا لم يكن متوفّرًا، سيكون هذا هو سبب الخطأ. (يُرجى العِلم أنّه في واجهة مستخدم Edge الجديدة، يمكنك العثور على "تدفقات مشترَكة" ضمن علامة التبويب "تطوير").

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

    بما أنّ مسار المشاركة هذا غير متوفّر، ستتلقّى رمز الخطأ التالي:

    flow.SharedFlowNotFound
    

الدقة

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

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

  1. أنشئ مسارًا مشتركًا باسم SharedFlow_Sample كما هو موضّح أدناه، ونشِّطه في بيئة الاختبار كما هو موضّح أدناه:

  2. استخدِم Shared Flow حاليًا تم نشره في بيئة الاختبار في سياسة Flow Callout. على سبيل المثال، يمكنك تحديد SharedFlow_demo في سياسة "وسيلة الشرح الخاصة بتدفق العمل".

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

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

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

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

على سبيل المثال، إذا كان العنصر <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> في سياسة Flow Callout متوفّر وتم نشره في البيئة المحدّدة التي يتم فيها تنفيذ طلب بيانات من واجهة برمجة التطبيقات.

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

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