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 API pengelolaan Edge 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 seperti berikut:

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 yang menyebabkan error. Misalnya, kebijakan Transformasi XSL berikut 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 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 Edge atau API pengelolaan Edge 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 seperti berikut:

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> pada 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, berarti error tersebut yang menyebabkan 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 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> pada 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>