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

    على سبيل المثال، في لقطة الشاشة المعروضة أدناه، التدفق المشترك 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 في بيئة الاختبار كما هو موضّح أدناه:

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