JavaScript नीति के डिप्लॉयमेंट से जुड़ी गड़बड़ी को ठीक करना

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

InvalidResourceUrlFormat

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

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

Error Deploying Revision revision_number to environment
Invalid resource url format. Resource url is invalid_URL.

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

Error Deploying Revision 1 to test
Invalid resource url format. Resource url is jsc:add_variables.js.

स्क्रीनशॉट का उदाहरण

वजह

अगर JavaScript नीति के <ResourceURL> या <IncludeURL> एलिमेंट में दिए गए रिसॉर्स यूआरएल का फ़ॉर्मैट अमान्य है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

संसाधन यूआरएल की जानकारी देने के लिए सही फ़ॉर्मैट नीचे दिखाया गया है:

<ResourceURL>jsc://<file_name>.js</ResourceURL>
<IncludeURL>jsc://<file_name>.js</IncludeURL>

उदाहरण के लिए, अगर <ResourceURL> एलिमेंट नीचे दिखाया गया है, तो बताए गए पैटर्न का पालन न करने की वजह से, एपीआई प्रॉक्सी का डिप्लॉयमेंट नहीं हो पाता:

<ResourceURL>jsc:add_variables.js</ResourceURL>

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

  1. JavaScript की नीति में इस्तेमाल किए गए अमान्य रिसॉर्स यूआरएल फ़ॉर्मैट की पहचान करें. आपको यह जानकारी गड़बड़ी के मैसेज से मिल सकती है. उदाहरण के लिए, यहां दी गई गड़बड़ी में, रिसॉर्स यूआरएल का अमान्य फ़ॉर्मैट jsc:add_variables.js है.

      Error Deploying Revision 1 to test
        Invalid resource url format. Resource url is jsc:add_variables.js.
    
  2. उस एपीआई प्रॉक्सी में सभी JavaScript नीतियों की जांच करें जहां गड़बड़ी हुई है. अगर ऐसी कोई JavaScript नीति है जिसमें <ResourceURL> या <IncludeURL> एलिमेंट में दिया गया रिसॉर्स यूआरएल, ऊपर चरण #1 में पहचानी गई अमान्य एंट्री से मेल खाता है, तो यही गड़बड़ी है.

    उदाहरण के लिए, यहां दी गई नीति, संसाधन के यूआरएल को jsc:add_variables.js के तौर पर बताती है, जो गड़बड़ी के मैसेज में मौजूद यूआरएल से मेल खाता है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-TotalVariable">
        <DisplayName>js-TotalVariable</DisplayName>
        <Properties/>
        <ResourceURL>jsc:add_variables.js</ResourceURL>
    </Javascript>
    

    संसाधन यूआरएल को jsc:add_variables.js के तौर पर बताया गया है, जो कि अमान्य है. इसलिए, इस गड़बड़ी की वजह से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

    Invalid resource url format. Resource url is jsc:add_variables.js.
    

रिज़ॉल्यूशन

पक्का करें कि JavaScript नीति के <ResourceURL> या <IncludeURL> एलिमेंट में दिया गया रिसॉर्स यूआरएल फ़ॉर्मैट मान्य है. उदाहरण के लिए:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-TotalVariable">
    <DisplayName>js-TotalVariable</DisplayName>
    <Properties/>
    <ResourceURL>jsc://add_variables.js</ResourceURL>
</Javascript>

InvalidResourceUrlReference

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

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

Error Deploying Revision revision_number to environment
Invalid resource url ref invalid_reference in policy policy_name in org_name

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

Error Deploying Revision 8 to test
Invalid resource url ref jsc://dependent_js.js in policy js-TotalVariable in aprabhashankar-eval

स्क्रीनशॉट का उदाहरण

वजह

अगर <ResourceURL> और <IncludeURL> एलिमेंट ऐसी JavaScript फ़ाइल का हवाला देते हैं जो मौजूद नहीं है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

अगर आपको अपनी लोकल मशीन से प्रॉक्सी बंडल डिप्लॉय करना है, तो JavaScript की सोर्स फ़ाइलें /apiproxy/resources/jsc में सेव होनी चाहिए. इस मामले में, सोर्स फ़ाइलों का दायरा एपीआई प्रॉक्सी के दायरे में होता है.

Edge यूज़र इंटरफ़ेस (यूआई) में, JavaScript सोर्स फ़ाइलें, एपीआई प्रॉक्सी एडिटर के नेविगेटर पैनल के स्क्रिप्ट सेक्शन में jsc में दिखती हैं. संगठन और एनवायरमेंट के लेवल पर डेटा स्टोर करने की जगहों में भी संसाधन फ़ाइलें सेव की जा सकती हैं. उदाहरण के लिए, किसी संगठन या एनवायरमेंट की सभी प्रॉक्सी को JavaScript कोड उपलब्ध कराने के लिए.

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

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

  1. उस JavaScript नीति की पहचान करें जहां गड़बड़ी हुई और जिसमें अमान्य संसाधन यूआरएल रेफ़रंस शामिल है. आपको यह जानकारी गड़बड़ी के मैसेज से मिल सकती है. उदाहरण के लिए, इस गड़बड़ी में नीति का नाम js-TotalVariable है और रिसॉर्स यूआरएल का अमान्य रेफ़रंस jsc://dependent_js.js है.

    Invalid resource url ref jsc://dependent_js.js in policy js-TotalVariable in aprabhashankar-eval
    
  2. पुष्टि करें कि फ़ेल हो चुकी JavaScript नीति में बताए गए संसाधन यूआरएल का रेफ़रंस, गड़बड़ी के मैसेज (ऊपर दिया गया चरण #1) में पहचाने गए मान से मेल खाता है. उदाहरण के लिए, इस नीति में रिसॉर्स यूआरएल रेफ़रंस को jsc://dependent_js.js के तौर पर दिखाया गया है, जो गड़बड़ी के मैसेज में मौजूद यूआरएल से मेल खाता है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
      <Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-TotalVariable">
      <DisplayName>js-TotalVariable</DisplayName>
      <Properties/>
      <ResourceURL>jsc://add_variables.js</ResourceURL>
      <IncludeURL>jsc://dependent_js.js</IncludeURL>
    </Javascript>
    
  3. देखें कि क्या चरण #1 फ़ाइल में पहचानी गई सोर्स फ़ाइल, खास एपीआई प्रॉक्सी बंडल का हिस्सा है या संगठन या एनवायरमेंट के दायरे में मौजूद है.

    1. यह देखने के लिए कि फ़ाइल किसी खास एपीआई प्रॉक्सी बंडल का हिस्सा है या नहीं, नीचे दिया गया तरीका अपनाएं:
      1. Edge यूज़र इंटरफ़ेस (यूआई) में, देखें कि यह फ़ाइल एपीआई प्रॉक्सी के स्क्रिप्ट सेक्शन में है या नहीं.
      2. एपीआई प्रॉक्सी बंडल को डाउनलोड करें और खोजें कि फ़ाइल मौजूद है या नहीं.
    2. अगर फ़ाइल किसी खास एपीआई प्रॉक्सी बंडल का हिस्सा नहीं है, तो देखें कि वह संगठन या एनवायरमेंट के लेवल पर मौजूद है या नहीं. इस जांच के लिए, Resource Files API का इस्तेमाल किया जा सकता है.

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

    ऊपर दिए गए उदाहरण में, याद रखें कि अमान्य JavaScript फ़ाइल नाम dependent_js.js है. नीचे दिए गए स्क्रीनशॉट में देखें कि नीति में रिसॉर्स यूआरएल के तौर पर दी गई फ़ाइल, स्क्रिप्ट सेक्शन में नहीं दिखती है. इसलिए, यह एपीआई प्रॉक्सी का हिस्सा नहीं है. अगर ऐसा भी होता है कि फ़ाइल संगठन या एनवायरमेंट के लेवल पर मौजूद नहीं है, तो इस गड़बड़ी के साथ एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

    Invalid resource url ref jsc://dependent_js.js in policy js-TotalVariable in aprabhashankar-eval
    

रिज़ॉल्यूशन

पक्का करें कि <ResourceURL> और <IncludeURL> एलिमेंट में दी गई JavaScript फ़ाइलें एक मान्य फ़ाइल के बारे में बताती हों, जो एपीआई प्रॉक्सी, संगठन या एनवायरमेंट लेवल पर मौजूद होती है.

ऊपर दिखाई गई JavaScript की नीति के उदाहरण को ठीक करने के लिए, एपीआई प्रॉक्सी बंडल में dependent_js.js फ़ाइल जोड़ें. नीचे दिए गए स्क्रीनशॉट में देखा जा सकता है कि <ResourceURL> और <IncludeURL> एलिमेंट में दी गई JavaScript फ़ाइलें, एपीआई प्रॉक्सी बंडल के स्क्रिप्ट सेक्शन में दिखती हैं.

WrongResourceType

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

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

Error Deploying Revision revision_number to environment
Resource JavaScript_file is the wrong type. It is invalid_type: but Javascript steps use type jsc:.

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

Error Deploying Revision 2 to test
Resource js_checkType.js is the wrong type. It is node: but Javascript steps use type jsc:.

स्क्रीनशॉट का उदाहरण

वजह

डिप्लॉयमेंट के दौरान यह गड़बड़ी तब होती है, जब JavaScript नीति के <ResourceURL> और <IncludeURL> एलिमेंट, jsc (JavaScript फ़ाइल) के अलावा किसी दूसरे तरह के संसाधन का हवाला देते हों.

उदाहरण के लिए, अगर <IncludeURL> एलिमेंट के बारे में नीचे दी गई जानकारी के हिसाब से बताया गया है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

<IncludeURL>node://javascript-dependency.js</IncludeURL>

इसकी वजह यह है कि यह node रिसॉर्स टाइप के बारे में बता रहा है, जो गलत है.

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

  1. JavaScript की नीति में इस्तेमाल किए गए अमान्य रिसॉर्स टाइप की पहचान करें. आपको यह जानकारी गड़बड़ी के मैसेज से मिल सकती है. उदाहरण के लिए, यहां दी गई गड़बड़ी में, रिसॉर्स टाइप node अमान्य है.

    Resource js_checkType.js is the wrong type. It is node: but Javascript steps use type jsc:.
    
  2. उस एपीआई प्रॉक्सी में सभी JavaScript नीतियों की जांच करें जहां गड़बड़ी हुई है. अगर ऐसी कोई JavaScript नीति है जिसमें <ResourceURL> या <IncludeURL> एलिमेंट में बताया गया रिसॉर्स, ऊपर दिए गए चरण #1 में पहचाने गए अमान्य रिसॉर्स टाइप से मैच करता है, तो यही गड़बड़ी है.

    उदाहरण के लिए, यहां दी गई नीति में रिसॉर्स टाइप के बारे में node बताया गया है, जो गड़बड़ी के मैसेज में मौजूद रिसॉर्स टाइप से मेल खाता है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-TotalVariable">
        <DisplayName>js-TotalVariable</DisplayName>
        <Properties/>
        <ResourceURL>node://js_checkType.js</ResourceURL>
        <IncludeURL>jsc://javascript-dependency.js</IncludeURL>
    </Javascript>
    

    रिसॉर्स टाइप को node के तौर पर बताया गया है, जो कि अमान्य है. इसलिए, इस गड़बड़ी की वजह से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

    Resource js_checkType.js is the wrong type. It is node: but Javascript steps use type jsc:.
    

रिज़ॉल्यूशन

पक्का करें कि JavaScript की नीति में मौजूद <ResourceURL> और <IncludeURL> एलिमेंट, हमेशा jsc के रिसॉर्स टाइप के बारे में बताते हों.

ऊपर दिए गए उदाहरण को ठीक करने के लिए, <ResourceURL> एलिमेंट में बदलाव करके, jsc रिसॉर्स टाइप का इस्तेमाल करें.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-TotalVariable">
    <DisplayName>js-TotalVariable</DisplayName>
    <Properties/>
    <ResourceURL>jsc://js_checkType.js</ResourceURL>
    <IncludeURL>jsc://javascript-dependency.js</IncludeURL>
</Javascript>

NoResourceURLOrSource

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

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

Error Saving Revision revision_number
Bundle is invalid. Errors:[Entity : Policy-policy_name, No ResourceURL or Source;].

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

Error Saving Revision 10
Bundle is invalid. Errors:[Entity : Policy-js-example, No ResourceURL or Source;].

स्क्रीनशॉट का उदाहरण

वजह

इन स्थितियों में, JavaScript नीति को लागू करने पर यह गड़बड़ी दिख सकती है:

  1. अगर <ResourceURL> एलिमेंट का एलान नहीं किया गया है या इस एलिमेंट में रिसॉर्स का यूआरएल नहीं दिया गया है. <ResourceURL> एलिमेंट एक ज़रूरी एलिमेंट है.
  2. <IncludeURL> एलिमेंट का एलान किया गया है, लेकिन इस एलिमेंट में रिसॉर्स यूआरएल की जानकारी नहीं दी गई है. <IncludeURL> एलिमेंट ज़रूरी नहीं है. हालांकि, अगर इसका एलान किया गया है, तो संसाधन यूआरएल को <IncludeURL> एलिमेंट में ही शामिल करना होगा.

उदाहरण के लिए, अगर <IncludeURL> एलिमेंट के बारे में नीचे दी गई जानकारी के हिसाब से बताया गया है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

<IncludeURL></IncludeURL>

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

  1. उस JavaScript नीति की पहचान करें जहां गड़बड़ी हुई. आपको यह जानकारी गड़बड़ी के मैसेज से मिल सकती है. उदाहरण के लिए, इस गड़बड़ी में नीति का नाम Policy-js-example है:

    Bundle is invalid. Errors:[Entity : Policy-js-example, No ResourceURL or Source;].
    
  2. फ़ेल हो चुकी JavaScript नीति की एक्सएमएल फ़ाइल में, ये जांच करें:

    1. यह ज़रूरी है कि <ResourceURL> एलिमेंट का एलान किया गया हो और एलिमेंट में, रिसॉर्स का यूआरएल मौजूद होना चाहिए.
    2. अगर <IncludeURL> एलिमेंट का एलान किया गया है, तो आपको किसी रिसॉर्स यूआरएल के बारे में बताना होगा. <IncludeURL> एलिमेंट का एलान करना ज़रूरी नहीं है.

    अगर ऊपर दी गई कोई भी जांच फ़ेल हो जाती है, तो यही गड़बड़ी है.

    उदाहरण 1: नीचे दी गई नीति में बताया गया <ResourceURL> एलिमेंट नहीं है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-example">
        <DisplayName>js-example</DisplayName>
        <Properties/>
    </Javascript>
    

    <ResourceURL> एलिमेंट का एलान नहीं किया गया है, इसलिए एपीआई प्रॉक्सी को इस गड़बड़ी के साथ डिप्लॉय नहीं किया जा सकता:

    Bundle is invalid. Errors:[Entity : Policy-js-example, No ResourceURL or Source;].
    

    उदाहरण 2: नीचे दी गई नीति में एक खाली <IncludeURL> एलिमेंट है.

  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-example">
      <DisplayName>js-example</DisplayName>
      <Properties/>
      <ResourceURL>jsc://check_var.js</ResourceURL>
      <IncludeURL></IncludeURL>
  </Javascript>

<IncludeURL> एलिमेंट में रिसॉर्स यूआरएल नहीं है, इसलिए एपीआई प्रॉक्सी को इस गड़बड़ी के साथ डिप्लॉय नहीं किया जा सकता:

  Bundle is invalid. Errors:[Entity : Policy-js-example, No ResourceURL or Source;].

रिज़ॉल्यूशन

JavaScript की नीति में इन बातों का ध्यान रखें:

  1. <ResourceURL> एलिमेंट का एलान किया जाता है और रिसॉर्स का यूआरएल, इस एलिमेंट में तय होता है. <ResourceURL> एलिमेंट एक ज़रूरी एलिमेंट है.
  2. अगर <IncludeURL> एलिमेंट का एलान किया गया है, तो 'शामिल किए गए रिसॉर्स का यूआरएल' इस एलिमेंट के अंदर ही बताया जाना चाहिए. <IncludeURL>एलिमेंट ज़रूरी नहीं है, लेकिन अगर इसके बारे में एलान किया गया है, तो रिसॉर्स यूआरएल <IncludeURL> एलिमेंट के अंदर ही बताया जाना चाहिए.

    ऊपर दिखाए गए उदाहरण 1 को ठीक करने के लिए, मान्य JavaScript फ़ाइल के साथ <ResourceURL> एलिमेंट शामिल करें:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-example">
        <DisplayName>js-example</DisplayName>
        <Properties/>
        <ResourceURL>jsc://check_var.js</ResourceURL>
    </Javascript>
    

    ऊपर दिखाए गए उदाहरण 2 को ठीक करने के लिए, <IncludeURL> एलिमेंट में एक मान्य JavaScript फ़ाइल शामिल करें

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-example">
        <DisplayName>js-example</DisplayName>
        <Properties/>
        <ResourceURL>jsc://check_var.js</ResourceURL>
        <IncludeURL>jsc://js_dependency.js</IncludeURL>
    </Javascript>