Pemecahan masalah error deployment kebijakan Transformasi XSL

Anda sedang melihat dokumentasi Apigee dan Apigee Hybrid.
Lihat dokumentasi Apigee Edge.

XSLEmptyResourceUrl

Pesan error

Deployment proxy API melalui UI atau API Apigee akan 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 Apigee, Anda akan melihat error seperti berikut:

Nilai yang bukan null diharapkan untuk elemen ResourceURL di XSL.

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 akan gagal.

Resolusi

Pastikan elemen <ResourceURL> dalam kebijakan Transformasi XSL memiliki URL 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 atau API Apigee akan 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 Apigee, Anda akan melihat error seperti berikut:

Jenis resource harus xsl.

Penyebab

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

Format yang benar untuk menentukan ini adalah seperti yang ditunjukkan di bawah ini:

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

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

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

Diagnosis

  1. Identifikasi nama kebijakan Transformasi XSL tempat error terjadi. Anda dapat menemukan informasi ini dari pesan error. Misalnya, dalam error berikut, nama kebijakan 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, 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 di 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 ditetapkan 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 Transformasi XSL 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>