Risoluzione degli errori di deployment del criterio XSL Transform

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

XSLEmptyResourceUrl

Messaggio di errore

Deployment del proxy API tramite la UI di Edge o l'API di gestione perimetrale non riesce e restituisce 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 messaggio di errore di esempio, 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

Nella UI di Edge, viene visualizzato un errore popup simile al seguente:

Causa

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

Diagnosi

Esamina l'elemento <ResourceURL> nel criterio XSL Transform denominato nell'errore . Se non è specificato alcun URL risorsa nell'elemento <ResourceURL>, questa è la causa dell'errore. Ad esempio, la seguente trasformazione XSL Il criterio 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 va a buon fine.

Risoluzione

Assicurati che l'elemento <ResourceURL> nel criterio XSL Transform abbia un valore valido URL che rimanda a un file Hadoop.

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

Deployment del proxy API tramite la UI di Edge o l'API di gestione perimetrale non riesce e restituisce 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 messaggio di errore di esempio, il nome del criterio di trasformazione XSL 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

Nella UI di Edge, viene visualizzato un errore popup simile al seguente:

Causa

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

Il formato corretto per specificare questa impostazione è il seguente:

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

Ad esempio, se il tipo di risorsa è specificato come jsc nel campo <ResourceURL> del criterio XSL Transform come mostrato di seguito, quindi il deployment Il proxy API ha esito negativo:

<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 XSL Transform con errore, verifica se il tipo della risorsa specificata nell'elemento <ResourceURL> non è del tipo xsl. Se non è di tipo xsl, è la causa dell'errore.

    Ad esempio, il seguente criterio specifica un tipo non 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 e restituisce 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> dell'XSL Il criterio di trasformazione è 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>