키 값 맵 작업 정책 배포 오류 문제 해결

현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동
정보

InvalidIndex

오류 메시지

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

Error Saving Revision revision_number
Invalid index index in KeyValueMapStepDefinition policy_name.

오류 메시지 예시

Error Saving Revision 2
Invalid index 0 in KeyValueMapStepDefinition GetKVM.

오류 스크린샷 예시

원인

키 값 맵 작업 정책의 <Get> 요소에 지정된 index 속성이 0 또는 음수일 경우 API 프록시 배포가 실패합니다. 색인은 1에서 시작하므로 0 또는 음의 정수의 색인은 잘못된 것으로 간주됩니다.

예를 들어 지정된 index가 키 값 맵 작업 정책의 <Get> 요소에서 0이면 API 프록시 배포는 실패합니다.

진단

  1. 오류가 발생한 키 값 맵 작업 정책과 잘못된 색인을 식별합니다. 이 정보는 오류 메시지에서 확인할 수 있습니다. 예를 들어 다음 오류에서는 정책 이름이 GetKVM이고 잘못된 색인이 0입니다.

    Invalid index 0 in KeyValueMapStepDefinition GetKVM.

  2. 실패한 키 값 맵 작업 정책의 <Get> 요소에 지정된 색인 값이 오류 메시지에서 확인된 값과(위의 1단계) 일치하는지 확인합니다. 예를 들어 다음 정책은 색인 값을 오류 메시지의 내용과 일치하는 0으로 지정합니다.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <KeyValueMapOperations mapIdentifier="FooKVM" async="false" continueOnError="false" enabled="true" name="GetKVM">
        <DisplayName>GetKVM</DisplayName>
        <ExpiryTimeInSecs>86400</ExpiryTimeInSecs>
        <Scope>environment</Scope>
        <Get assignTo="foo_variable" index="0">
            <Key>
                <Parameter>FooKey_1</Parameter>
            </Key>
        </Get>
    </KeyValueMapOperations>
    
  3. 지정된 색인이 0 또는 음의 정수인 경우 이는 오류의 원인이 됩니다.

    위에 표시된 키 값 맵 작업 정책의 예시에서 색인 값은 유효하지 않은 0입니다. 따라서 다음 오류와 함께 API 프록시 배포가 실패합니다.

    Invalid index 0 in KeyValueMapStepDefinition GetKVM.
    

해상도

키 값 맵 작업 정책의 <Get> 요소에 지정된 색인 속성이 유효한지(0이 아니거나 음수인 정수) 확인합니다.

위에 표시된 키 값 맵 작업 정책 예시를 수정하려면 색인을 1로 수정하면 됩니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<KeyValueMapOperations mapIdentifier="FooKVM" async="false" continueOnError="false" enabled="true" name="GetKVM">
    <DisplayName>GetKVM</DisplayName>
    <ExpiryTimeInSecs>86400</ExpiryTimeInSecs>
    <Scope>environment</Scope>
    <Get assignTo="foo_variable" index="1">
        <Key>
            <Parameter>FooKey_1</Parameter>
        </Key>
    </Get>
</KeyValueMapOperations>

KeyIsMissing

오류 메시지

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

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

오류 메시지 예시

Error Saving Revision 3
Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry

오류 스크린샷 예시

원인

이 오류는 <Key> 요소가 완전히 누락되었거나 키 값 맵 작업의 <InitialEntries> 요소의 <Entry> 아래 <Key> 요소 내에 <Parameter> 요소가 누락된 경우에 발생합니다.

진단

  1. 오류가 발생한 키 값 맵 작업 정책을 확인합니다. 이 정보는 오류 메시지에서 확인할 수 있습니다. 예를 들어 다음 오류에서 키 값 맵 작업 정책의 이름은 GetKVM입니다.

    Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
    
  2. 실패한 키 값 맵 작업 정책에서 <InitialEntries> 아래에 <Key> 또는 <Parameter> 요소가 누락된 <Entry> 요소가 있는지 확인합니다.

    다음은 <Key> 요소 내에 <Parameter> 요소가 누락된 키 값 맵 작업 정책의 샘플입니다.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <KeyValueMapOperations async="false" continueOnError="false" enabled="true" name="GetKVM" mapIdentifier="FooKVM">
        <DisplayName>GetKVM</DisplayName>
        <Properties/>
        <ExclusiveCache>false</ExclusiveCache>
        <ExpiryTimeInSecs>300</ExpiryTimeInSecs>
        <InitialEntries>
            <Entry>
                <Key/>
                <Value>v1</Value>
            </Entry>
            <Entry>
                <Key>
                    <Parameter>k2</Parameter>
                </Key>
                <Value>v2</Value>
            </Entry>
        </InitialEntries>
    

    이 경우 첫 번째 요소로 인해 문제가 발생합니다.

해결 방법

키 값 맵 작업 정책의 <InitialEntries> 요소 아래에 있는 모든 <Entry> 요소에 <Key> 요소와 그 뒤에 <Parameter> 요소가 있는지 확인합니다.

위에 표시된 키 값 맵 작업 정책 예시를 수정하려면 <Parameter> 요소를 추가하면 됩니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<KeyValueMapOperations async="false" continueOnError="false" enabled="true" name="GetKVM" mapIdentifier="FooKVM">
    <DisplayName>GetKVM</DisplayName>
    <Properties/>
    <ExclusiveCache>false</ExclusiveCache>
    <ExpiryTimeInSecs>300</ExpiryTimeInSecs>
    <InitialEntries>
        <Entry>
            <Key>
                <Parameter>k1</Parameter>
            </Key>
            <Value>v1</Value>
        </Entry>
        <Entry>
            <Key>
                <Parameter>k2</Parameter>
            </Key>
            <Value>v2</Value>
        </Entry>
    </InitialEntries>
    ...

ValueIsMissing

오류 메시지

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

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

오류 메시지 예시

Error Saving Revision 3
Error occurred while validation of bean GetKVM.xml.Reason: - Non null value expected for element Value in Entry

오류 스크린샷 예시

원인

이 오류는 키 값 맵 작업 정책의 <InitialEntries> 요소의 <Entry> 요소 아래에 <Value> 요소가 누락된 경우에 발생합니다.

진단

  1. 오류가 발생한 키 값 맵 작업 정책을 확인합니다. 이 정보는 오류 메시지에서 확인할 수 있습니다. 예를 들어 다음 오류에서 키 값 맵 작업 정책의 이름은 GetKVM입니다.

    Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Value in Entry
    
  2. 실패한 키 값 맵 작업 정책에서 <InitialEntries> 아래에 <Value> 요소가 누락된 <Entry> 요소가 있는지 확인합니다.

    다음은 <Value> 요소가 누락된 키 값 맵 작업 정책의 샘플입니다.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <KeyValueMapOperations async="false" continueOnError="false" enabled="true" name="GetKVM" mapIdentifier="testNotEncrypte">
        <DisplayName>GetKVM3</DisplayName>
        <Properties/>
        <ExclusiveCache>false</ExclusiveCache>
        <ExpiryTimeInSecs>300</ExpiryTimeInSecs>
        <InitialEntries>
            <Entry>
                <Key>
                    <Parameter>k1</Parameter>
                </Key>
            </Entry>
            <Entry>
                <Key>
                    <Parameter>k2</Parameter>
                </Key>
                <Value>v2</Value>
            </Entry>
        </InitialEntries>
        ...
    
    

해상도

키 값 맵 작업 정책의 <InitialEntries> 요소 아래에 있는 모든 <Entry> 요소에 <Value> 요소가 있는지 확인합니다.

위에 표시된 키 값 맵 작업 정책 예시를 수정하려면 <Value> 요소를 추가하면 됩니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<KeyValueMapOperations async="false" continueOnError="false" enabled="true" name="GetKVM" mapIdentifier="testNotEncrypte">
    <DisplayName>GetKVM3</DisplayName>
    <Properties/>
    <ExclusiveCache>false</ExclusiveCache>
    <ExpiryTimeInSecs>300</ExpiryTimeInSecs>
    <InitialEntries>
        <Entry>
            <Key>
                <Parameter>k1</Parameter>
            </Key>
            <Value>v1</Value>
        </Entry>
        <Entry>
            <Key>
                <Parameter>k2</Parameter>
            </Key>
            <Value>v2</Value>
        </Entry>
    </InitialEntries>
    ...