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>