XSL ট্রান্সফর্ম নীতি স্থাপনার ত্রুটি সমস্যা সমাধান

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

XSLEmptyResourceUrl

ত্রুটির বার্তা

Edge UI অথবা Edge ম্যানেজমেন্ট API-এর মাধ্যমে 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 Transform পলিসিটির নাম হল xslt :

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

উদাহরণ স্ক্রিনশট

Edge UI-তে আপনি নিচের মতো একটি পপ-আপ এরর দেখতে পাবেন:

কারণ

যদি XSL Transform পলিসির <ResourceURL> এলিমেন্টটি খালি থাকে, তাহলে API প্রক্সির ডেপ্লয়মেন্ট ব্যর্থ হয়।

রোগ নির্ণয়

এরর মেসেজে উল্লেখিত XSL Transform পলিসির <ResourceURL> এলিমেন্টটি পরীক্ষা করুন। যদি <ResourceURL> এলিমেন্টে কোনো রিসোর্স ইউআরএল (Resource URL) নির্দিষ্ট করা না থাকে, তাহলে সেটিই এররের কারণ। উদাহরণস্বরূপ, নিম্নলিখিত XSL Transform পলিসিতে একটি খালি <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 Transform পলিসির <ResourceURL> এলিমেন্টটিতে একটি বৈধ URL রয়েছে যা একটি 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 UI অথবা Edge ম্যানেজমেন্ট API-এর মাধ্যমে 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 Transform পলিসিটির নাম হল 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 UI-তে আপনি নিচের মতো একটি পপ-আপ এরর দেখতে পাবেন:

কারণ

যদি XSL ট্রান্সফর্ম পলিসির <ResourceURL> এলিমেন্টে নির্দিষ্ট করা রিসোর্স টাইপটি xsl টাইপের না হয়, তাহলে এপিআই প্রক্সির ডেপ্লয়মেন্ট ব্যর্থ হয়।

এটি নির্দিষ্ট করার সঠিক বিন্যাসটি নিচে দেখানো হলো:

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

উদাহরণস্বরূপ, যদি নিচে দেখানো অনুযায়ী XSL Transform পলিসির <ResourceURL> এলিমেন্টে রিসোর্স টাইপ হিসেবে jsc নির্দিষ্ট করা হয়, তাহলে API প্রক্সির ডেপ্লয়মেন্ট ব্যর্থ হয়:

<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 ট্রান্সফর্ম পলিসি XML-এ, <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>
    

    যেহেতু রিসোর্স URL-টি jsc://my_transform.xsl হিসেবে নির্দিষ্ট করা হয়েছে, যা xsl টাইপের নয়, তাই API প্রক্সির ডেপ্লয়মেন্ট নিম্নলিখিত ত্রুটির সাথে ব্যর্থ হয়:

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

সমাধান

নিশ্চিত করুন যে XSL Transform পলিসির <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>