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

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

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