Risoluzione dei problemi relativi agli errori di deployment delle norme di trasformazione XSL

Stai visualizzando la documentazione di Apigee e Apigee hybrid.
Visualizza la documentazione di Apigee Edge.

XSLEmptyResourceUrl

Messaggio di errore

Il deployment del proxy API tramite l'API o l'interfaccia utente di Apigee non va a buon fine con questo messaggio di errore:

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

Esempio di messaggio di errore

Nel seguente esempio di messaggio di errore, il nome del criterio di trasformazione XSL che causa l'errore è xslt:

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

Screenshot di esempio

Nell'interfaccia utente di Apigee viene visualizzato un errore simile al seguente:

È previsto un valore non nullo per l'elemento ResourceURL in XSL.

Causa

Se l'elemento <ResourceURL> nel criterio di trasformazione XSL è vuoto, il deployment del proxy API non va a buon fine.

Diagnosi

Esamina l'elemento <ResourceURL> nel criterio di trasformazione XSL denominato nel messaggio di errore. Se nell'elemento <ResourceURL> non è specificato alcun URL della risorsa, si tratta della causa dell'errore. Ad esempio, il seguente criterio di trasformazione XSL ha un elemento <ResourceURL> vuoto:

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

Poiché l'elemento <ResourceURL> è vuoto, il deployment del proxy API non riesce.

Risoluzione

Assicurati che l'elemento <ResourceURL> nel criterio di trasformazione XSL abbia un URL valido che rimandi a un file XSLT.

Ad esempio:

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

Messaggio di errore

Il deployment del proxy API tramite l'API o l'interfaccia utente di Apigee non va a buon fine con questo messaggio di errore:

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.

Esempio di messaggio di errore

Nel seguente esempio di messaggio di errore, il nome del criterio di trasformazione XSL che causa l'errore è 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 di esempio

Nell'interfaccia utente di Apigee viene visualizzato un errore simile al seguente:

Il tipo di risorsa deve essere xsl.

Causa

Se il tipo di risorsa specificato nell'elemento <ResourceURL> del criterio di trasformazione XSL non è di tipo xsl, il deployment del proxy API non va a buon fine.

Il formato corretto per specificarlo è mostrato di seguito:

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

Ad esempio, se il tipo di risorsa è specificato come jsc nell'elemento <ResourceURL> del criterio di trasformazione XSL come mostrato di seguito, il deployment del proxy API non va a buon fine:

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

Diagnosi

  1. Identifica il nome del criterio di trasformazione XSL in cui si è verificato l'errore. Puoi trovare queste informazioni nel messaggio di errore. Ad esempio, nell'errore seguente, il nome del criterio è xslt.

    XSL xslt: Resource type must be xsl. Context Revision:1;APIProxy:XSLTransform;
    Organization:jdoe-test;Environment:test.
    
  2. Nel file XML del criterio di trasformazione XSL non riuscito, verifica se il tipo di risorsa specificato nell'elemento <ResourceURL> non è di tipo xsl. Se non è di tipo xsl, è la causa dell'errore.

    Ad esempio, il seguente criterio specifica un tipo diverso da xsl nell'elemento <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>
    

    Poiché l'URL della risorsa è specificato come jsc://my_transform.xsl, che non è di tipo xsl, il deployment del proxy API non riesce con l'errore:

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

Risoluzione

Assicurati che il tipo di risorsa specificato nell'elemento <ResourceURL> del criterio di trasformazione XSL sia sempre di tipo xsl. Ad esempio:

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