Estás viendo la documentación de Apigee Edge.
Ve a la documentación de Apigee X. Más información
XSLEmptyResourceUrl
Mensaje de error
La implementación del proxy de API a través de la IU de Edge o la API de administración de Edge falla con este mensaje de error:
Error Saving Revision revision_number Error occurred while validation of bean policy_name.xml. Reason:- Non null value expected for element ResourceURL in XSL
Ejemplo de mensaje de error
En el siguiente mensaje de error de ejemplo, el nombre de la política de transformación de XSL que causa el error es xslt
:
Error Saving Revision 1
Error occurred while validation of bean xslt.xml. Reason: - Non null value
expected for element ResourceURL in XSL
Captura de pantalla de ejemplo
En la IU de Edge, verás un error en una ventana emergente similar al siguiente:
Causa
Si el elemento <ResourceURL>
en la política de transformación de XSL está vacío, la implementación del proxy de API falla.
Diagnóstico
Examina el elemento <ResourceURL>
en la política de transformación de XSL que se menciona en el mensaje de error. Si no se especifica una URL del recurso en el elemento <ResourceURL>
, entonces, esa es la causa del error. Por ejemplo, la siguiente política de transformación de XSL tiene un elemento <ResourceURL>
vacío:
<?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>
Debido a que el elemento <ResourceURL>
está vacío, la implementación del proxy de API falla.
Solución
Asegúrate de que el elemento <ResourceURL>
en la política de transformación de XSL tenga una URL válida que apunte a un archivo XSLT.
Por ejemplo:
<?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
Mensaje de error
La implementación del proxy de API a través de la IU de Edge o la API de administración de Edge falla con este mensaje de error:
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.
Ejemplo de mensaje de error
En el siguiente mensaje de error de ejemplo, el nombre de la política de transformación de XSL que causa el error es xslt
:
Error Deploying Revision 1 to test
XSL xslt: Resource type must be xsl. Context Revision:1;APIProxy:XSLTransform;
Organization:jdoe-test;Environment:test.
Captura de pantalla de ejemplo
En la IU de Edge, verás un error en una ventana emergente similar al siguiente:
Causa
Si el tipo de recurso especificado en el elemento <ResourceURL>
de la política de transformación de XSL no es del tipo xsl
, la implementación del proxy de API falla.
A continuación, se muestra el formato correcto para especificar esto:
<ResourceURL>xsl://<file_name>.xsl</ResourceURL>
Por ejemplo, si el tipo de recurso se especifica como jsc
en el elemento <ResourceURL>
de la política de transformación de XSL como se muestra a continuación, la implementación del proxy de API falla:
<ResourceURL>jsc://my_transform.xsl</ResourceURL>
Diagnóstico
Identifica el nombre de la política de transformación de XSL en la que se produjo el error. Puedes encontrar esta información en el mensaje de error. Por ejemplo, en el siguiente error, el nombre de la política es
xslt
.XSL xslt: Resource type must be xsl. Context Revision:1;APIProxy:XSLTransform; Organization:jdoe-test;Environment:test.
En el archivo XML de la política de transformación de XSL con errores, verifica si el tipo de recurso especificado en el elemento
<ResourceURL>
no es del tipoxsl
. Si no es del tipoxsl
, entonces, esa es la causa del error.Por ejemplo, la siguiente política especifica un tipo que no es
xsl
en el 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 la URL del recurso se especifica como
jsc://my_transform.xsl
, que no es del tipoxsl
, la implementación del proxy de API falla con el error:XSL xslt: Resource type must be xsl. Context Revision:1;APIProxy:XSLTransform; Organization:jdoe-test;Environment:test.
Solución
Asegúrate de que el tipo de recurso especificado en el elemento <ResourceURL>
de la política de transformación de XSL siempre sea del tipo xsl
. Por ejemplo:
<?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>