Устранение ошибок при развертывании политики XSL Transform

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

XSLEmptyResourceUrl

Сообщение об ошибке

Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается сбоем с этим сообщением об ошибке:

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

Пример сообщения об ошибке

В следующем примере сообщения об ошибке имя политики преобразования XSL, вызывающей ошибку, — xslt :

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

Пример скриншота

В пользовательском интерфейсе Edge вы увидите всплывающее окно с ошибкой, подобное следующему:

Причина

Если элемент <ResourceURL> в политике XSL Transform пуст, развертывание прокси-сервера API завершается неудачно.

Диагностика

Проверьте элемент <ResourceURL> в политике преобразования XSL, указанной в сообщении об ошибке. Если в элементе <ResourceURL> не указан URL-адрес ресурса, это является причиной ошибки. Например, следующая политика преобразования XSL содержит пустой элемент <ResourceURL> :

<?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> пуст, развертывание прокси-сервера API завершается неудачно.

Разрешение

Убедитесь, что элемент <ResourceURL> в политике преобразования XSL имеет действительный URL-адрес, указывающий на файл XSLT.

Например:

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

Кслинвалидресаурцетипе

Сообщение об ошибке

Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой с этим сообщением об ошибке:

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.

Пример сообщения об ошибке

В следующем примере сообщения об ошибке имя политики преобразования XSL, вызывающей ошибку, — xslt :

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

Пример скриншота

В пользовательском интерфейсе Edge вы увидите всплывающее окно с ошибкой, подобное следующему:

Причина

Если тип ресурса, указанный в элементе <ResourceURL> политики преобразования XSL, не относится к типу xsl , развертывание прокси-сервера API завершается неудачей.

Правильный формат для указания этого показан ниже:

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

Например, если тип ресурса указан как jsc в элементе <ResourceURL> политики XSL Transform, как показано ниже, развертывание прокси-сервера API завершится неудачей:

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

Диагностика

  1. Определите имя политики преобразования XSL, в которой произошла ошибка. Эту информацию можно найти в сообщении об ошибке. Например, в следующей ошибке имя политики — xslt .

    XSL xslt: Resource type must be xsl. Context Revision:1;APIProxy:XSLTransform;
    Organization:jdoe-test;Environment:test.
    
  2. В XML-файле неудавшейся политики преобразования XSL проверьте, не является ли тип ресурса, указанного в элементе <ResourceURL> , типом xsl . Если он не типа xsl , то это и есть причина ошибки.

    Например, следующая политика определяет тип, отличный от xsl в элементе <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>
    

    Поскольку URL-адрес ресурса указан как jsc://my_transform.xsl , который не относится к типу xsl , развертывание прокси-сервера API завершается с ошибкой:

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

Разрешение

Убедитесь, что тип ресурса, указанный в элементе <ResourceURL> политики преобразования XSL, всегда имеет тип xsl . Например:

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