Pemecahan masalah error deployment kebijakan Transformasi XSL

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 Transformasi XSL 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 Transformasi XSL kosong, deployment proxy API akan gagal.

Diagnosis

Periksa elemen <ResourceURL> dalam kebijakan Transformasi XSL yang disebutkan dalam pesan error. Jika tidak ada URL Resource yang ditentukan dalam elemen <ResourceURL>, maka itulah penyebab error. Misalnya, kebijakan Transformasi XSL 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 Transformasi XSL 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 Transformasi XSL bukan berjenis 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 ditetapkan sebagai jsc dalam elemen <ResourceURL> kebijakan Transformasi XSL seperti yang ditunjukkan di bawah, deployment proxy API akan gagal:

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

Diagnosis

  1. Identifikasi nama kebijakan Transform XSL tempat error terjadi. 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 Transformasi XSL yang gagal, pastikan jenis resource yang ditentukan dalam elemen <ResourceURL> bukan berjenis 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 dari 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 Transformasi XSL selalu berupa jenis 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>