عیب یابی خطای استقرار خط مشی XSL Transform

شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید .
اطلاعات

XSLEmptyResourceUrl

پیغام خطا

استقرار پراکسی API از طریق Edge UI یا 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 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، یک خطای پاپ آپ مشابه زیر مشاهده خواهید کرد:

علت

اگر عنصر <ResourceURL> در خط‌مشی XSL Transform خالی باشد، استقرار پراکسی API با شکست مواجه می‌شود.

تشخیص

عنصر <ResourceURL> را در خط مشی XSL Transform که در پیام خطا نامگذاری شده است، بررسی کنید. اگر هیچ URL منبعی در عنصر <ResourceURL> مشخص نشده باشد، دلیل این خطا همین است. برای مثال، خط مشی 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> خالی است، استقرار پروکسی API با شکست مواجه می شود.

قطعنامه

اطمینان حاصل کنید که عنصر <ResourceURL> در خط مشی XSL Transform دارای یک 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

پیغام خطا

استقرار پراکسی API از طریق Edge UI یا 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 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، یک خطای پاپ آپ مشابه زیر مشاهده خواهید کرد:

علت

اگر نوع منبع مشخص شده در عنصر <ResourceURL> خط مشی XSL Transform از نوع xsl نباشد، استقرار پراکسی API با شکست مواجه می شود.

فرمت صحیح برای تعیین این مورد به شرح زیر است:

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

به عنوان مثال، اگر نوع منبع به صورت jsc در عنصر <ResourceURL> سیاست XSL Transform همانطور که در زیر نشان داده شده است مشخص شود، در آن صورت استقرار پراکسی API با شکست مواجه می شود:

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

تشخیص

  1. نام خط مشی XSL Transform را که در آن خطا رخ داده است، شناسایی کنید. می توانید این اطلاعات را از پیام خطا پیدا کنید. به عنوان مثال، در خطای زیر، نام سیاست xslt است.

    XSL xslt: Resource type must be xsl. Context Revision:1;APIProxy:XSLTransform;
    Organization:jdoe-test;Environment:test.
    
  2. در XML خط مشی XSL Transform شکست خورده، بررسی کنید که آیا نوع منبع مشخص شده در عنصر <ResourceURL> از نوع xsl نیست. اگر از نوع xsl نیست، دلیل این خطا است.

    برای مثال، سیاست زیر یک نوع غیر 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>jsc://my_transform.xsl</ResourceURL>
        <Parameters ignoreUnresolvedVariables="true"/>
        <OutputVariable/>
    </XSL>
    

    از آنجایی که URL منبع به عنوان jsc://my_transform.xsl مشخص شده است، که از نوع notof xsl است، استقرار پروکسی API با خطا انجام نمی شود:

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

قطعنامه

مطمئن شوید که نوع منبع مشخص شده در عنصر <ResourceURL> خط مشی XSL Transform همیشه از نوع 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>