फ़्लो कॉलआउट नीति के रनटाइम की गड़बड़ी की समस्या हल करना

आपको Apigee Edge दस्तावेज़ दिख रहा है.
इस पेज पर जाएं Apigee X दस्तावेज़.
जानकारी

SharedFlowNotFound

गड़बड़ी का कोड

flow.SharedFlowNotFound

गड़बड़ी का जवाब

{
    "fault": {
        "faultstring": "Shared Flow shared_flow_name Not Found",
        "detail": {
            "errorcode": "flow.SharedFlowNotFound"
        }
    }
}

संभावित वजहें

इस गड़बड़ी की ये वजहें हो सकती हैं:

Cause जानकारी
शेयर किया गया फ़्लो उपलब्ध नहीं है शेयर किया गया फ़्लो मौजूद नहीं है.
शेयर किया गया फ़्लो लागू नहीं किया गया शेयर किया गया फ़्लो मौजूद है, लेकिन डिप्लॉय नहीं किया गया है.

वजह: शेयर किया गया फ़्लो उपलब्ध नहीं है

फ़्लो कॉलआउट नीति में, अगर <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 के यूज़र इंटरफ़ेस (यूआई) में, 'शेयर किए गए फ़्लो' टैब में आपको 'शेयर किए गए फ़्लो' विकल्प दिखेंगे.

    उदाहरण के लिए, नीचे दिखाए गए स्क्रीनशॉट में, शेयर किया गया फ़्लो 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 नाम के शेयर किए गए फ़्लो को डिप्लॉय करें, जैसा कि यहां दिखाया गया है:

अगर टेस्ट एनवायरमेंट में एपीआई कॉल किया जाता है, तो आपको गड़बड़ी नहीं दिखेगी. ऐसा इसलिए, क्योंकि फ़्लो कॉलआउट को टेस्ट एनवायरमेंट में भी डिप्लॉय किया गया है.