XSL 변환 정책 배포 오류 문제 해결

<ph type="x-smartling-placeholder"></ph> 현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서.
정보

XSLEmptyResourceUrl

오류 메시지

Edge UI 또는 Edge Management API를 통해 API 프록시 배포 다음 오류 메시지와 함께 실패합니다.

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 UI에 다음과 유사한 팝업 오류가 표시됩니다.

원인

XSL 변환 정책의 <ResourceURL> 요소가 비어 있으면 API 프록시 배포가 실패합니다.

진단

오류 메시지에서 이름이 지정된 XSL 변환 정책의 <ResourceURL> 요소를 검사합니다. <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 프록시 배포가 실패합니다.

해결 방법

XSL 변환 정책의 <ResourceURL> 요소에 XSLT 파일을 가리키는 유효한 URL이 있는지 확인합니다.

예:

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

오류 메시지

Edge UI 또는 Edge Management API를 통해 API 프록시 배포 다음 오류 메시지와 함께 실패합니다.

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 UI에 다음과 유사한 팝업 오류가 표시됩니다.

원인

XSL 변환 정책의 <ResourceURL> 요소에 지정된 리소스 유형이 xsl 유형이 아니면 API 프록시 배포가 실패합니다.

이 형식을 지정하는 올바른 형식은 다음과 같습니다.

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

예를 들어 리소스 유형이 아래와 같이 XSL 변환 정책의 <ResourceURL> 요소에서 jsc로 지정되면 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. 실패한 XSL 변환 정책 XML에서 <ResourceURL> 요소에 지정된 리소스 유형이 xsl 유형이 아닌지 확인합니다. xsl 유형이 아니면 오류가 발생합니다.

    예를 들어 다음 정책은 <ResourceURL> 요소에서 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>
    

    리소스 URL이 xsl 유형이 아닌 jsc://my_transform.xsl로 지정되므로 API 프록시 배포가 오류와 함께 실패합니다.

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

해결 방법

XSL 변환 정책의 <ResourceURL> 요소에 지정된 리소스 유형이 항상 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>