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

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

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

XSLEmptyResourceUrl

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

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

Error Saving Revision revision_number
Error occurred while validation of bean policy_name.xml. Reason:- Non null
value expected for element ResourceURL in XSL

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

गड़बड़ी के मैसेज के इस उदाहरण में, गड़बड़ी की वजह बनने वाली XSL ट्रांसफ़ॉर्म नीति का नाम xslt है:

Error Saving Revision 1
Error occurred while validation of bean xslt.xml. Reason: - Non null value
expected for element ResourceURL in XSL

उदाहरण के तौर पर दिया गया स्क्रीनशॉट

Edge यूज़र इंटरफ़ेस (यूआई) में, आपको यहां दी गई गड़बड़ी जैसा पॉप-अप दिखेगा:

वजह

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

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

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

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XSL async="false" continueOnError="false" enabled="true" name="xslt">
    <DisplayName>xslt</DisplayName>
    <Properties/>
    <ResourceURL></ResourceURL>
    <Parameters ignoreUnresolvedVariables="true"/>
    <OutputVariable/>
</XSL>

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

रिज़ॉल्यूशन

पक्का करें कि XSL ट्रांसफ़ॉर्म नीति में मौजूद <ResourceURL> एलिमेंट में, XSLT फ़ाइल पर ले जाने वाला मान्य यूआरएल हो.

उदाहरण के लिए:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XSL async="false" continueOnError="false" enabled="true" name="xslt">
    <DisplayName>xslt</DisplayName>
    <Properties/>
    <ResourceURL>xsl://my_transform.xsl</ResourceURL>
    <Parameters ignoreUnresolvedVariables="true"/>
    <OutputVariable/>
</XSL>

XSLInvalidResourceType

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

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

Error Deploying Revision revision_number to env_name
XSL policy_name: Resource type must be xsl. Context Revision:revision_number;
APIProxy:api_proxy_name;Organization:org_name;Environment:env_name.

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

गड़बड़ी के मैसेज के इस उदाहरण में, गड़बड़ी की वजह बनने वाली XSL ट्रांसफ़ॉर्म नीति का नाम xslt है:

Error Deploying Revision 1 to test
XSL xslt: Resource type must be xsl. Context Revision:1;APIProxy:XSLTransform;
Organization:jdoe-test;Environment:test.

उदाहरण के तौर पर दिया गया स्क्रीनशॉट

Edge यूज़र इंटरफ़ेस (यूआई) में, आपको यहां दी गई गड़बड़ी जैसा पॉप-अप दिखेगा:

वजह

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

इसे बताने का सही फ़ॉर्मैट यहां दिया गया है:

<ResourceURL>xsl://<file_name>.xsl</ResourceURL>

उदाहरण के लिए, अगर XSL ट्रांसफ़ॉर्म नीति के <ResourceURL> एलिमेंट में संसाधन टाइप को jsc के तौर पर तय किया जाता है, जैसा कि यहां दिखाया गया है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकेगा:

<ResourceURL>jsc://my_transform.xsl</ResourceURL>

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

  1. उस XSL ट्रांसफ़ॉर्म नीति का नाम पता करें जिसमें गड़बड़ी हुई है. यह जानकारी, गड़बड़ी के मैसेज में देखी जा सकती है. उदाहरण के लिए, यहां दी गई गड़बड़ी में नीति का नाम xslt है.

    XSL xslt: Resource type must be xsl. Context Revision:1;APIProxy:XSLTransform;
    Organization:jdoe-test;Environment:test.
    
  2. XSL ट्रांसफ़ॉर्म नीति के लिए इस्तेमाल की गई एक्सएमएल फ़ाइल में, पुष्टि करें कि <ResourceURL> एलिमेंट में बताया गया संसाधन, xsl टाइप का नहीं है. अगर यह xsl टाइप का नहीं है, तो गड़बड़ी की वजह यही है.

    उदाहरण के लिए, यहां दी गई नीति में <ResourceURL> एलिमेंट में, xsl टाइप के अलावा कोई दूसरा टाइप बताया गया है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XSL async="false" continueOnError="false" enabled="true" name="xslt">
        <DisplayName>xslt</DisplayName>
        <Properties/>
        <ResourceURL>jsc://my_transform.xsl</ResourceURL>
        <Parameters ignoreUnresolvedVariables="true"/>
        <OutputVariable/>
    </XSL>
    

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

    XSL xslt: Resource type must be xsl. Context Revision:1;APIProxy:XSLTransform;
    Organization:jdoe-test;Environment:test.
    

रिज़ॉल्यूशन

पक्का करें कि XSLTransform नीति के <ResourceURL> एलिमेंट में बताया गया संसाधन टाइप हमेशा xsl टाइप का हो. उदाहरण के लिए:

  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <XSL async="false" continueOnError="false" enabled="true" name="xslt">
      <DisplayName>xslt</DisplayName>
      <Properties/>
      <ResourceURL>xsl://my_transform.xsl</ResourceURL>
      <Parameters ignoreUnresolvedVariables="true"/>
      <OutputVariable/>
  </XSL>