XSL Dönüşüm politikası dağıtım hatası sorunlarını giderme

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

XSLBoşKaynakUrl

Hata mesajı

API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajını vererek başarısız olur:

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

Örnek hata mesajı

Aşağıdaki örnek hata mesajında, hataya neden olan XSL Dönüşümü politikasının adı xslt şeklindedir:

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

Örnek ekran görüntüsü

Edge kullanıcı arayüzünde aşağıdakine benzer bir pop-up hatası görürsünüz:

Neden

XSL Dönüşümü politikasındaki <ResourceURL> öğesi boşsa API proxy'sinin dağıtımı başarısız olur.

Teşhis

Hata mesajında adı geçen XSL Dönüştürme politikasındaki <ResourceURL> öğesini inceleyin. <ResourceURL> öğesinde herhangi bir Kaynak URL'si belirtilmemişse hatanın nedeni budur. Örneğin, aşağıdaki XSL Dönüşümü politikasında boş bir <ResourceURL> öğesi var:

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

<ResourceURL> öğesi boş olduğundan API proxy'sinin dağıtımı başarısız olur.

Çözünürlük

XSL Dönüşümü politikasındaki <ResourceURL> öğesinin, XSLT dosyasına işaret eden geçerli bir URL'ye sahip olduğundan emin olun.

Örneğin:

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

Hata mesajı

API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajını vererek başarısız olur:

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.

Örnek hata mesajı

Aşağıdaki örnek hata mesajında, hataya neden olan XSL Dönüşümü politikasının adı xslt şeklindedir:

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

Örnek ekran görüntüsü

Edge kullanıcı arayüzünde aşağıdakine benzer bir pop-up hatası görürsünüz:

Neden

XSL Dönüşümü politikasının <ResourceURL> öğesinde belirtilen kaynak türü xsl türünde değilse API proxy'sinin dağıtımı başarısız olur.

Bunu belirtmek için doğru biçim aşağıda gösterildiği gibidir:

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

Örneğin, kaynak türü aşağıda gösterildiği gibi XSL Dönüşümü politikasının <ResourceURL> öğesinde jsc olarak belirtilirse API proxy'sinin dağıtımı başarısız olur:

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

Teşhis

  1. Hatanın oluştuğu XSL Dönüşümü politikasının adını tanımlayın. Bu bilgileri hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada politika adı xslt şeklindedir.

    XSL xslt: Resource type must be xsl. Context Revision:1;APIProxy:XSLTransform;
    Organization:jdoe-test;Environment:test.
    
  2. Başarısız XSL Dönüşüm politikası XML'inde, <ResourceURL> öğesinde belirtilen kaynak türünün xsl türünde olmadığını doğrulayın. Hata, xsl türünde değilse hatanın nedeni budur.

    Örneğin, aşağıdaki politika <ResourceURL> öğesinde xsl olmayan bir tür belirtir:

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

    Kaynak URL'si, xsl türünde olmayan jsc://my_transform.xsl olarak belirtildiğinden API Proxy'sinin dağıtımı şu hatayı vererek başarısız olur:

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

Çözünürlük

XSL Dönüşümü politikasının <ResourceURL> öğesinde belirtilen kaynak türünün her zaman xsl türünde olduğundan emin olun. Örneğin:

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