DecodeJWT 정책 배포 오류 문제 해결

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

InvalidEmptyElement

오류 메시지

다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.

Error Saving Revision
Invalid empty element : policy(policy_name) element(Source)

오류 메시지 예시

Error Saving Revision
Invalid empty element : policy(Decode_JWT) element(Source).

예시 스크린샷

Apigee UI에서 오류가 포함된 대화상자가 표시됩니다.

버전을 저장하는 중에 오류가 발생했습니다.

원인

이 오류는 디코딩할 JWT가 포함된 흐름 변수가 DecodeJWT 정책의 <Source> 요소에 지정되지 않은 경우에 발생합니다.

예를 들어 <Source> 요소에 값이 포함되지 않으면 다음과 같은 오류가 발생합니다.

<Source></Source>

진단

  1. 오류 메시지에서 비어 있는 DecodeJWT 정책 이름과 요소의 이름을 확인합니다. 예를 들어 다음 오류 메시지에서 DecodeJWT 정책 이름은 Decode_JWT이고 요소 이름은 Source입니다.

    Invalid empty element : policy(Decode_JWT) element(Source).
    
  2. DecodeJWT 정책을 검사하고 1단계에서 확인한 요소가 비어 있는지 확인합니다. 요소가 비어 있다면 그것이 오류의 원인입니다.

    다음은 샘플 DecodeJWT 정책입니다.

    <DecodeJWT name="Decode_JWT">
        <DisplayName>JWT Decode HS256</DisplayName>
        <Source></Source>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    </DecodeJWT>
    

    <Source> 요소가 비어 있으므로 다음 오류가 발생합니다.

    Invalid empty element : policy(Decode_JWT) element(Source).
    

해결 방법

<Source> 요소가 흐름 변수에 유효한 JWT를 지정하는지 확인합니다.

DecodeJWT 정책 샘플의 문제를 해결하려면 <Source> 요소에서 유효한 JWT가 포함된 흐름 변수를 지정하면 됩니다.

<DecodeJWT name="Decode_JWT">
    <DisplayName>JWT Decode HS256</DisplayName>
    <Source>var.jwt</Source>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
</DecodeJWT>