Solução de problemas de erros na implantação da política de transformação XSL

Esta é a documentação do Apigee Edge.
Acesse Documentação da Apigee X.
informações

XSLEmptyResourceUrl

Mensagem de erro

Implantação do proxy de API pela interface do Edge ou pela API Edge Management falha com esta mensagem de erro:

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

Exemplo de mensagem de erro

Na seguinte mensagem de erro de exemplo, o nome da política de transformação XSL que causa o erro é xslt:

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

Exemplo de captura de tela

Na interface do Edge, um erro pop-up semelhante ao seguinte será exibido:

Causa

Se o elemento <ResourceURL> na política de transformação XSL estiver vazio, a implantação do proxy da API falhará.

Diagnóstico

Examine o elemento <ResourceURL> na política de transformação XSL nomeada na mensagem de erro. Se não houver um URL de recurso especificado no elemento <ResourceURL>, essa será a causa do erro. Por exemplo, a seguinte política de transformação XSL tem um elemento <ResourceURL> vazio:

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

Como o elemento <ResourceURL> está vazio, a implantação do proxy de API falha.

Resolução

Verifique se o elemento <ResourceURL> na política de transformação XSL tem um URL válido que aponta para um arquivo XSLT.

Exemplo:

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

Mensagem de erro

Implantação do proxy de API pela interface do Edge ou pela API Edge Management falha com esta mensagem de erro:

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.

Exemplo de mensagem de erro

Na seguinte mensagem de erro de exemplo, o nome da política de transformação XSL que causa o erro é xslt:

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

Exemplo de captura de tela

Na interface do Edge, um erro pop-up semelhante ao seguinte será exibido:

Causa

Se o tipo de recurso especificado no elemento <ResourceURL> da política de transformação XSL não for do tipo xsl, a implantação do proxy de API falhará.

Veja a seguir o formato correto para especificar isso:

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

Por exemplo, se o tipo de recurso for especificado como jsc no elemento <ResourceURL> da política de transformação XSL como mostrado abaixo, a implantação do proxy de API falhará:

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

Diagnóstico

  1. Identifique o nome da política de transformação XSL em que ocorreu o erro. Você encontra essas informações na mensagem de erro. Por exemplo, no erro a seguir, o nome da política é xslt.

    XSL xslt: Resource type must be xsl. Context Revision:1;APIProxy:XSLTransform;
    Organization:jdoe-test;Environment:test.
    
  2. No XML da política de transformação XSL, verifique se o tipo do recurso especificado no elemento <ResourceURL> não é do tipo xsl. Se não for do tipo xsl, essa será a causa do erro.

    Por exemplo, a política a seguir especifica um tipo não xsl no 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>
    

    Como o URL do recurso é especificado como jsc://my_transform.xsl, que não é do tipo xsl, a implantação do proxy de API falha com o erro:

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

Resolução

Verifique se o tipo de recurso especificado no elemento <ResourceURL> da política de transformação XSL é sempre do tipo xsl. Exemplo:

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