Pemecahan masalah error deployment kebijakan Transformasi XSL

Anda sedang melihat dokumentasi Apigee dan Apigee hybrid.
Lihat Dokumentasi Apigee Edge.

ini.

XSLEmptyResourceUrl

Pesan error

Deployment proxy API melalui UI Apigee atau 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

Pada contoh pesan {i>error<i} berikut, nama kebijakan Transformasi XSL yang menyebabkan error-nya adalah xslt:

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

Screenshot contoh

Di UI Apigee, Anda akan melihat error yang mirip dengan berikut ini:

Nilai yang bukan null diharapkan untuk ResourceURL elemen di XSL.

Penyebab

Jika elemen <ResourceURL> dalam kebijakan Transformasi XSL kosong, maka deployment proxy API gagal.

Diagnosis

Periksa elemen <ResourceURL> dalam kebijakan Transformasi XSL yang disebutkan dalam error untuk membuat pesan email baru. Jika tidak ada URL Resource yang ditentukan dalam elemen <ResourceURL>, maka itulah penyebab {i>error<i}. Misalnya, Transformasi XSL berikut kebijakan memiliki elemen <ResourceURL> yang 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 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 Apigee atau 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.

Screenshot contoh

Di UI Apigee, Anda akan melihat error yang mirip dengan berikut ini:

Jenis resource harus xsl.

Penyebab

Jika jenis resource ditentukan dalam elemen <ResourceURL> dari Transformasi XSL kebijakan bukan jenis xsl, maka 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 di <ResourceURL> kebijakan Transformasi XSL seperti yang ditunjukkan di bawah ini, maka deployment Proxy API 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 error bukan dari jenis xsl, berarti 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 ditetapkan sebagai jsc://my_transform.xsl, yang bukan jenis xsl, deployment Proxy API gagal dan disertai error:

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

Resolusi

Memastikan jenis resource ditentukan dalam elemen <ResourceURL> XSL Kebijakan transformasi 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>