एक्सटेंशन कॉलआउट की नीति के डिप्लॉयमेंट से जुड़ी गड़बड़ी की समस्या हल करना

Apigee Edge का दस्तावेज़ देखा जा रहा है.
Apigee X के दस्तावेज़ पर जाएं.
info

पर क्लिक करें.

InvalidConnectorInstance

गड़बड़ी का मैसेज

Edge यूज़र इंटरफ़ेस (यूआई) या Edge Management API के ज़रिए एपीआई प्रॉक्सी को डिप्लॉय करने पर, यह गड़बड़ी का मैसेज दिखता है:

Error Saving Revision revision_number
In policy_name: Connector must not be empty.

गड़बड़ी के मैसेज का उदाहरण

Error Saving Revision 1
In Extension Callout-1: Connector must not be empty.

गड़बड़ी के उदाहरण का स्क्रीनशॉट

कनेक्टर इंस्टेंस अमान्य है गड़बड़ी का मैसेज

वजह

यह गड़बड़ी तब होती है, जब ExtensionCallout नीति में <Connector> एलिमेंट मौजूद न हो या उसे खाली वैल्यू पर सेट किया गया हो.

संक्रमण की जांच

  1. गड़बड़ी के मैसेज में, ExtensionCallout नीति का नाम देखें. उदाहरण के लिए, यहां दी गई गड़बड़ी में, ExtensionCallout नीति का नाम Extension Callout-1 है:

    Error Saving Revision 1
    In Extension Callout-1: Connector must not be empty
  2. नीति के उल्लंघन की वजह से लागू न हो सकी ExtensionCallout नीति की एक्सएमएल फ़ाइल की जांच करें. साथ ही, पुष्टि करें कि <Connector> एलिमेंट मौजूद हो और उसमें कोई वैल्यू दी गई हो. उदाहरण के लिए, यहां दी गई नीति में <Connector> एलिमेंट खाली है और इसमें एक्सटेंशन का नाम शामिल नहीं है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1">
        <DisplayName>Extension Callout-1</DisplayName>
        <Connector></Connector>
        <Action>downloadFile</Action>
        <Input><![CDATA[
             {}
         ]]></Input>
        <Output>context-variable-name</Output>
    </ConnectorCallout>

<Connector> एलिमेंट खाली होने की वजह से, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सका.

रिज़ॉल्यूशन

पक्का करें कि Extension Callout नीति के <Connector> एलिमेंट की वैल्यू हमेशा दी गई हो. साथ ही, यह संगठन में बनाए गए असल एक्सटेंशन के नाम से मेल खाती हो.

ऊपर दिखाई गई ExtensionCallout नीति के उदाहरण को ठीक करने के लिए, <Connector> एलिमेंट को उस एक्सटेंशन के नाम पर सेट किया जा सकता है जो उस खास एनवायरमेंट में मौजूद है जहां एपीआई प्रॉक्सी को डिप्लॉय किया जा रहा है.

एक्सटेंशन का नाम जानने के लिए, Edge के यूज़र इंटरफ़ेस (यूआई) में एडमिन > एक्सटेंशन पर जाएं. आपके संगठन के सभी एक्सटेंशन के नाम वहां दिखेंगे. एक्सटेंशन का नाम <Connector> एलिमेंट में सेट किया जाना चाहिए.

Edge के यूज़र इंटरफ़ेस में, सभी एक्सटेंशन के नाम देखें.

यहां <Connector> एलिमेंट में एक्सटेंशन का नाम सही तरीके से सेट करने का उदाहरण दिया गया है:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1">
    <DisplayName>Extension Callout-1</DisplayName>
    <Connector>cloud_storage_ext</Connector>
    <Action>downloadFile</Action>
    <Input><![CDATA[
         {}
     ]]></Input>
    <Output>context-variable-name</Output>
</ConnectorCallout>

ConnectorInstanceDoesNotExists

गड़बड़ी का मैसेज

Edge यूज़र इंटरफ़ेस (यूआई) या Edge Management API के ज़रिए एपीआई प्रॉक्सी को डिप्लॉय करने पर, यह गड़बड़ी का मैसेज दिखता है:

Error Deploying Revision revision_number to environment
In policy_name: Connector <extension_name> does not exist in environment environment.

गड़बड़ी के मैसेज का उदाहरण

Error Deploying Revision 1 to test
In Extension Callout-1: Connector cloud_storage does not exist in environment test.

गड़बड़ी के उदाहरण का स्क्रीनशॉट

कनेक्टर इंस्टेंस मौजूद नहीं है, इससे जुड़ी गड़बड़ी का मैसेज

वजह

यह गड़बड़ी तब होती है, जब ExtensionCallout नीति में मौजूद <Connector> एलिमेंट को ऐसे नाम पर सेट किया जाता है जो उस एनवायरमेंट में मौजूद नहीं है जहां एपीआई प्रॉक्सी को डिप्लॉय किया जा रहा है.

संक्रमण की जांच

  1. ExtensionCallout नीति का नाम, ExtensionCallout नीति के <Connector> एलिमेंट में इस्तेमाल किया गया अमान्य एक्सटेंशन का नाम, और वह एनवायरमेंट जहां गड़बड़ी हुई है. आपको ये सभी आइटम, गड़बड़ी के मैसेज में मिल सकते हैं.

    उदाहरण के लिए, यहां दी गई गड़बड़ी में, ExtensionCallout नीति का नाम Extension Callout-1,invalid है, एक्सटेंशन का नाम cloud_storage है, और एनवायरमेंट का नाम test है:

        Error Deploying Revision 1 to test
        In Extension Callout-1: Connector cloud_storage does not exist in environment test.
  2. नीति के उल्लंघन की वजह से अस्वीकार किए गए ExtensionCallout के एक्सएमएल की जांच करें. साथ ही, पुष्टि करें कि <Connector> एलिमेंट के लिए तय किया गया एक्सटेंशन का नाम, गड़बड़ी के मैसेज में दिए गए नाम से मेल खाता हो.

    इस उदाहरण में, <Connector> एलिमेंट में दिया गया एक्सटेंशन का नाम cloud_storage है:

        <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1">
            <DisplayName>Extension Callout-1</DisplayName>
            <Connector>cloud_storage</Connector>
            <Action>downloadFile</Action>
            <Input><![CDATA[
                 {}
             ]]></Input>
            <Output>context-variable-name</Output>
        </ConnectorCallout>
  3. पुष्टि करें कि एक्सटेंशन का नाम, एनवायरमेंट में बनाया गया हो. यह एनवायरमेंट, पहले चरण में तय किया गया था.

    Edge के यूज़र इंटरफ़ेस (यूआई) में, एडमिन > एक्सटेंशन पर जाएं. इसके बाद, देखें कि एक्सटेंशन मौजूद है या नहीं. साथ ही, यह भी देखें कि एक्सटेंशन का नाम, ExtensionCallout नीति में दिए गए <Connector> एलिमेंट में मौजूद नाम से मेल खाता है या नहीं.

    यहां दिए गए स्क्रीनशॉट में देखें कि एक्सटेंशन cloud_storage_ext मौजूद है, लेकिन यह ऊपर दिए गए उदाहरण में बताए गए ExtensionCallout नीति के <Connector> एलिमेंट से मेल नहीं खाता:

    Edge के यूज़र इंटरफ़ेस में, सभी एक्सटेंशन के नाम देखें.

    <Connector> एलिमेंट में बताया गया एक्सटेंशन का नाम मौजूद नहीं है. इसलिए, आपको डिप्लॉयमेंट से जुड़ी यह गड़बड़ी दिखती है:

    In Extension Callout-1: Connector cloud_storage does not exist in environment test.

रिज़ॉल्यूशन

पक्का करें कि ExtensionCallout नीति के <Connector> एलिमेंट में बताया गया एक्सटेंशन बनाया गया हो और उसका नाम सही तरीके से दिया गया हो.

एक्सटेंशन बनाने के तरीके के बारे में जानने के लिए, ट्यूटोरियल: एक्सटेंशन का इस्तेमाल करना देखें.

ऊपर दिए गए उदाहरण में, नाम को ठीक करें, ताकि वह असली एक्सटेंशन से मेल खाए:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1">
    <DisplayName>Extension Callout-1</DisplayName>
    <Connector>cloud_storage_ext</Connector>
    <Action>downloadFile</Action>
    <Input><![CDATA[
         {}
     ]]></Input>
    <Output>context-variable-name</Output>
</ConnectorCallout>

InvalidAction

गड़बड़ी का मैसेज

Edge यूज़र इंटरफ़ेस (यूआई) या Edge Management API के ज़रिए एपीआई प्रॉक्सी को डिप्लॉय करने पर, यह गड़बड़ी का मैसेज दिखता है:

Error Saving Revision revision_number
In policy_name: Action must not be empty.

गड़बड़ी के मैसेज का उदाहरण

Error Saving Revision 1
In Extension Callout-1: Action must not be empty.

गड़बड़ी के उदाहरण का स्क्रीनशॉट

'कार्रवाई अमान्य है' गड़बड़ी का मैसेज

वजह

यह गड़बड़ी तब होती है, जब ExtensionCallout नीति में <Action> एलिमेंट मौजूद न हो या उसे खाली वैल्यू पर सेट किया गया हो.

संक्रमण की जांच

  1. ExtensionCallout नीति का नाम पता करें. यह जानकारी, गड़बड़ी के मैसेज में देखी जा सकती है. उदाहरण के लिए, यहां दी गई गड़बड़ी में, ExtensionCallout नीति का नाम Extension Callout-1:

        Error Saving Revision 1
        In Extension Callout-1: Action must not be empty.
  2. नीति के उल्लंघन वाले ExtensionCallout के एक्सएमएल की जांच करें. साथ ही, पुष्टि करें कि <Action> एलिमेंट में कार्रवाई के बारे में बताया गया हो. अगर <Action> एलिमेंट मौजूद नहीं है या यह खाली है, तो इसकी वजह से गड़बड़ी होती है.

    इस उदाहरण में, <Action> एलिमेंट खाली है:

        <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1">
            <DisplayName>Extension Callout-1</DisplayName>
            <Connector>cloud_storage_ext</Connector>
            <Action></Action>
            <Input><![CDATA[
                 {}
             ]]></Input>
            <Output>context-variable-name</Output>
        </ConnectorCallout>

रिज़ॉल्यूशन

पक्का करें कि ExtensionCallout नीति में, <Action> एलिमेंट हमेशा तय किया गया हो और वह खाली न हो.

एक्सटेंशन बनाने और नीति में सही <Action> एलिमेंट के साथ इसका इस्तेमाल करने के बारे में जानकारी पाने के लिए, ट्यूटोरियल: एक्सटेंशन का इस्तेमाल करना देखें.

ऊपर दी गई समस्या को ठीक करने के लिए, एक्सटेंशन के लिए सही कार्रवाई तय करें:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1">
    <DisplayName>Extension Callout-1</DisplayName>
    <Connector>cloud_storage_ext</Connector>
    <Action>downloadFile</Action>
    <Input><![CDATA[
         {}
     ]]></Input>
    <Output>context-variable-name</Output>
</ConnectorCallout>

AllowExtensionsInPostClientFlow

गड़बड़ी का मैसेज

Edge यूज़र इंटरफ़ेस (यूआई) या Edge Management API के ज़रिए एपीआई प्रॉक्सी को डिप्लॉय करने पर, यह गड़बड़ी का मैसेज दिखता है:

Error Deploying Revision revision_number to environment
In policy_name: Policy is not allowed in PostClientFlow.

गड़बड़ी के मैसेज का उदाहरण

Error Deploying Revision 1 to test
In Extension Callout-1: Policy is not allowed in PostClientFlow.

गड़बड़ी के उदाहरण का स्क्रीनशॉट

Allow Extensions In Post Client Flow error message

वजह

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

संक्रमण की जांच

  1. ExtensionCallout नीति का नाम पता करें. यह जानकारी, गड़बड़ी के मैसेज में देखी जा सकती है. उदाहरण के लिए, यहां दी गई गड़बड़ी में, ExtensionCallout नीति का नाम Extension Callout-1:

    In Extension Callout-1: Policy is not allowed in PostClientFlow.
  2. उस एपीआई प्रॉक्सी के सभी एंडपॉइंट में मौजूद सभी PostClient फ़्लो की जांच करें जहां गड़बड़ी हुई है. कृपया फ़्लो की मदद से, प्रॉक्सी के एक्ज़ीक्यूट होने के तरीके को कंट्रोल करना लेख पढ़ें.

    अगर आपको पता चलता है कि ExtensionCallout नीति (पहले चरण में तय की गई) को PostClient Flow में रखा गया है, तो यह गड़बड़ी की वजह है.

    उदाहरण के लिए, यहां दिए गए PostClient फ़्लो में ExtensionCallout नीति शामिल है:

        ...
        <PostClientFlow>
                <Request/>
                <Response>
                    <Step>
                        <Name>Extension-Callout-1</Name>
                    </Step>
                </Response>
            </PostClientFlow>
        ...

रिज़ॉल्यूशन

पक्का करें कि ExtensionCallout नीति को PostClient फ़्लो में न रखा गया हो.

ऊपर बताई गई समस्या को ठीक करने के लिए, आपको ExtensionCallout नीति को किसी दूसरे फ़्लो में ले जाना चाहिए.

...
<PreFlow name="PreFlow">
    <Request/>
    <Response>
        <Step>
            <Name>Extension-Callout-1</Name>
        </Step>
    </Response>
</PreFlow>
...