Rozwiązywanie problemów związanych z błędem wdrożenia zasady XSL Transform

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

XSLEmptyResourceUrl

Komunikat o błędzie

Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu Edge Management API nie powiodło się i wyświetla ten komunikat o błędzie:

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

Przykładowy komunikat o błędzie

W tym przykładowym komunikacie o błędzie nazwa zasady przekształcenia XSL, która powoduje błąd, to xslt:

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

Przykładowy zrzut ekranu

W interfejsie Edge zobaczysz wyskakujące okienko błędu podobnego do tego:

Przyczyna

Jeśli element <ResourceURL> w zasadzie przekształcania XSL jest pusty, wdrożenie serwera proxy interfejsu API nie powiedzie się.

Diagnostyka

Sprawdź element <ResourceURL> w zasadzie przekształcania XSL wymieniony w komunikacie o błędzie. Jeśli w elemencie <ResourceURL> nie określono adresu URL zasobu, to jest przyczyną błędu. Na przykład ta zasada przekształcenia XSL ma pusty element <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>

Element <ResourceURL> jest pusty, więc wdrożenie serwera proxy interfejsu API nie powiodło się.

Rozdzielczość

Sprawdź, czy element <ResourceURL> w zasadzie przekształcania XSL ma prawidłowy adres URL wskazujący plik SDF.

Na przykład:

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

Komunikat o błędzie

Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu Edge Management API nie powiodło się i wyświetla ten komunikat o błędzie:

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.

Przykładowy komunikat o błędzie

W poniższym przykładowym komunikacie o błędzie nazwa zasady przekształcania XSL, która powoduje błąd, to xslt:

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

Przykładowy zrzut ekranu

W interfejsie Edge zobaczysz wyskakujące okienko błędu podobnego do tego:

Przyczyna

Jeśli typ zasobu określony w elemencie <ResourceURL> zasady przekształcania XSL nie jest typu xsl, wdrożenie serwera proxy interfejsu API nie powiedzie się.

Poprawny format, który możesz określić, poniżej:

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

Jeśli na przykład typ zasobu jest określony jako jsc w elemencie <ResourceURL> zasady przekształcania XSL, jak pokazano poniżej, wdrożenie serwera proxy interfejsu API nie powiedzie się:

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

Diagnostyka

  1. Podaj nazwę zasady przekształcenia XSL, w której wystąpił błąd. Informacje te znajdziesz w komunikacie o błędzie. Na przykład w poniższym błędzie nazwa zasady to xslt.

    XSL xslt: Resource type must be xsl. Context Revision:1;APIProxy:XSLTransform;
    Organization:jdoe-test;Environment:test.
    
  2. W pliku XML zasady przekształcania XSL, którego nie udało się wczytać, sprawdź, czy typ zasobu określony w elemencie <ResourceURL> nie jest typu xsl. Jeśli typ nie jest typu xsl, to jest przyczyną błędu.

    Na przykład ta zasada określa w elemencie <ResourceURL> typ inny niż xsl:

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

    Ponieważ adres URL zasobu jest określony jako jsc://my_transform.xsl, który nie jest typu xsl, wdrożenie serwera proxy interfejsu API kończy się niepowodzeniem:

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

Rozdzielczość

Upewnij się, że typ zasobu określony w elemencie <ResourceURL> zasady przekształcenia XSL jest zawsze typu xsl. Na przykład:

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