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

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

XSLEmptyResourceUrl

پیام خطا

استقرار پروکسی API از طریق رابط کاربری Edge یا رابط مدیریت Edge با این پیام خطا مواجه می‌شود:

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 که در پیام خطا ذکر شده است، بررسی کنید. اگر هیچ Resource 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 دارای یک 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>

نوع منبع نامعتبر XSL

پیام خطا

استقرار پروکسی API از طریق رابط کاربری Edge یا رابط مدیریت Edge با این پیام خطا مواجه می‌شود:

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 از نوع xsl نباشد، استقرار پروکسی API با شکست مواجه می‌شود.

قالب صحیح برای مشخص کردن این مورد به شکل زیر است:

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

برای مثال، اگر نوع منبع در عنصر <ResourceURL> از سیاست XSL Transform، همانطور که در زیر نشان داده شده است، به عنوان 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. در XML مربوط به شکست سیاست تبدیل XSL، بررسی کنید که آیا نوع منبع مشخص شده در عنصر <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>
    

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

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

وضوح تصویر

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