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

आपको 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> एलिमेंट को ऊपर दिए गए पहले चरण में पहचाने गए फ़्लो के नाम के साथ दिखाया गया है.

    उदाहरण के लिए, नीचे दी गई नीति में <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> एलिमेंट में बताया गया शेयर किया गया फ़्लो, उस एनवायरमेंट में मौजूद और डिप्लॉय किया जाता है जिसमें एपीआई अनुरोध को एक्ज़ीक्यूट किया जाता है.

समस्या को हल करने के लिए, इनमें से कोई एक तरीका अपनाएं:

  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 नाम का शेयर किया गया फ़्लो डिप्लॉय करें. इसके लिए, यहां दिया गया तरीका अपनाएं:

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