Pemecahan masalah error deployment kebijakan XSL Transform

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

XSLEmptyResourceUrl

Pesan error

Deployment proxy API melalui UI Edge atau Edge Management API gagal dengan pesan error ini:

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

Contoh pesan error

Dalam contoh pesan error berikut, nama kebijakan XSL Transform yang menyebabkan error adalah xslt:

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

Contoh screenshot

Di UI Edge, Anda akan melihat error pop-up yang mirip dengan berikut ini:

Penyebab

Jika elemen <ResourceURL> dalam kebijakan XSL Transform kosong, deployment proxy API akan gagal.

Diagnosis

Periksa elemen <ResourceURL> dalam kebijakan XSL Transform yang disebutkan dalam pesan error. Jika tidak ada URL Resource yang ditentukan dalam elemen <ResourceURL>, maka itulah penyebab error. Misalnya, kebijakan XSL Transform berikut memiliki elemen <ResourceURL> kosong:

<?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>

Karena elemen <ResourceURL> kosong, deployment proxy API gagal.

Resolusi

Pastikan elemen <ResourceURL> dalam kebijakan XSL Transform memiliki URL yang valid yang mengarah ke file XSLT.

Contoh:

<?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

Pesan error

Deployment proxy API melalui UI Edge atau Edge Management API gagal dengan pesan error ini:

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.

Contoh pesan error

Dalam contoh pesan error berikut, nama kebijakan XSL Transform yang menyebabkan error adalah xslt:

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

Contoh screenshot

Di UI Edge, Anda akan melihat error pop-up yang mirip dengan berikut ini:

Penyebab

Jika jenis resource yang ditentukan dalam elemen <ResourceURL> kebijakan XSL Transform bukan jenis xsl, deployment proxy API akan gagal.

Format yang benar untuk menentukannya adalah seperti yang ditunjukkan di bawah:

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

Misalnya, jika jenis resource ditentukan sebagai jsc dalam elemen <ResourceURL> kebijakan XSL Transform seperti yang ditunjukkan di bawah, maka deployment proxy API akan gagal:

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

Diagnosis

  1. Identifikasi nama kebijakan XSL Transform tempat terjadinya error. Anda dapat menemukan informasi ini dari pesan error. Misalnya, dalam error berikut, nama kebijakannya adalah xslt.

    XSL xslt: Resource type must be xsl. Context Revision:1;APIProxy:XSLTransform;
    Organization:jdoe-test;Environment:test.
    
  2. Dalam XML kebijakan XSL Transform yang gagal, verifikasi apakah jenis resource yang ditentukan dalam elemen <ResourceURL> bukan jenis xsl. Jika bukan jenis xsl, maka itulah penyebab error.

    Misalnya, kebijakan berikut menentukan jenis non-xsl dalam elemen <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>
    

    Karena URL resource ditentukan sebagai jsc://my_transform.xsl, yang bukan jenis xsl, deployment Proxy API gagal dengan error:

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

Resolusi

Pastikan jenis resource yang ditentukan dalam elemen <ResourceURL> kebijakan XSL Transform selalu berjenis xsl. Contoh:

  <?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>