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

ApigeeApigee Hybrid 문서입니다.
Apigee Edge 문서 보기

XSLEmptyResourceUrl

오류 메시지

다음 오류 메시지와 함께 Apigee UI 또는 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

예시 스크린샷

Apigee UI에 다음과 비슷한 오류가 표시됩니다.

XSL의 ResourceURL 요소에 null이 아닌 값이 예상됩니다.

원인

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

오류 메시지

다음 오류 메시지와 함께 Apigee UI 또는 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.

예시 스크린샷

Apigee UI에 다음과 비슷한 오류가 표시됩니다.

리소스 유형은 xsl이어야 합니다.

원인

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>