Key Value Map Operations ポリシーのデプロイエラーのトラブルシューティング

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.
    

エラーのスクリーンショットの例

原因

Key Value Map Operations ポリシーの <Get> 要素で指定された index 属性がゼロまたは負の数である場合、API プロキシのデプロイは失敗します。インデックスは 1 から始まるため、ゼロまたは負の整数のインデックスは無効と見なされます。

たとえば、Key Value Map Operations ポリシーの <Get> 要素に指定されている index0 の場合、API プロキシのデプロイは失敗します。

診断

  1. エラーが発生した Key Value Map Operations ポリシーと無効なインデックスを特定します。この情報はエラー メッセージから見つけることができます。たとえば、次のエラーでは、ポリシー名は GetKVM で、無効なインデックスは 0 です。

    Invalid index 0 in KeyValueMapStepDefinition GetKVM.

  2. 失敗した Key Value Map Operations ポリシーの <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. 指定されたインデックスがゼロまたは負の整数の場合、それがエラーの原因です。

    上記の Key Value Map Operations ポリシーの例では、インデックスの値は 0 で無効です。したがって、API プロキシのデプロイは次のエラーで失敗します。

    Invalid index 0 in KeyValueMapStepDefinition GetKVM.
        

解決策

Key Value Map Operations ポリシーの <Get> 要素で指定されたインデックス属性が有効であるようにします(ゼロでも負の整数でもない整数)。

上記の Key Value Map Operations ポリシーの例を修正するには、インデックスを 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 Value Map Operations ポリシーの <InitialEntries> 要素の <Entry> の下で、<Key> 要素が完全に欠落しているか、<Key> 要素内の <Parameter> 要素が欠落している場合に発生します。

診断

  1. エラーが発生した Key Value Map Operations ポリシーを特定します。この情報はエラー メッセージから見つけることができます。たとえば、次のエラーでは、Key Value Map Operations ポリシーの名前は GetKVM です。

    Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
        
  2. 失敗した Key Value Map Operations ポリシーで、<Key> 要素または <Parameter> 要素が欠落した <Entry> 要素が <InitialEntries> の下にないか確認します。

    <Key> 要素内に <Parameter> 要素がない Key Value Map Operations ポリシーの例を次に示します。

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

    この場合、最初の要素が問題の原因となっています。

解決策

Key Value Map Operations ポリシーの <InitialEntries> 要素の下にあるすべての <Entry> 要素に <Key> 要素が含まれ、その後に <Parameter> 要素が含まれるようにします。

上記の Key Value Map Operations ポリシーの例を修正するには、<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
    

エラーのスクリーンショットの例

原因

このエラーは、Key Value Map Operations ポリシーの <InitialEntries> 要素の <Entry> 要素の下に <Value> 要素がない場合に発生します。

診断

  1. エラーが発生した Key Value Map Operations ポリシーを特定します。この情報はエラー メッセージから見つけることができます。たとえば、次のエラーでは、Key Value Map Operations ポリシーの名前は GetKVM です。

    Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Value in Entry
        
  2. 失敗した Key Value Map Operations ポリシーで、<Value> 要素が欠落した <Entry> 要素が <InitialEntries> の下にないか確認します。

    <Value> 要素がない Key Value Map Operations ポリシーの例を次に示します。

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

解決策

Key Value Map Operations ポリシーの <InitialEntries> 要素の下にあるすべての <Entry> 要素が <Value> 要素を含むようにします。

上記の Key Value Map Operations ポリシーの例を修正するには、<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>
        ...