這是非常基本的,但我努力嘗試從keyvaluemap構建/檢索值。例如給定變量X和Y,其中X = 123abc,第一次執行時Y = foo,第二次執行時X = 456def,Y = bar,我希望有一個鍵值映射,其中[123abc] - > [foo]和[456def] - > [bar]。Apigee - 鍵值映射 - 使用可變鍵的問題
但是,當我嘗試檢索變量Z中的值時,使用任何一個X值,我總會得到最後一個增加的值:Z = bar。如果我刪除密鑰X = 456def,則檢索密鑰X = 123abc將返回密鑰不存在的錯誤。
我的猜測是,只有一個值被構建到地圖中,並且它變得像「」一樣放入,就好像變量未被設置一樣。覆蓋值「true」將用最後一次添加的值替換它。我確信該變量具有一個值,因爲它在跟蹤中的先前策略執行中正確顯示。
語法中是否有某些東西?有任何想法嗎?
我使用下面的策略來構建的關鍵
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<KeyValueMapOperations mapIdentifier="map1" enabled="true" continueOnError="false" async="false" name="buildmap1">
<DisplayName>build map1</DisplayName>
<FaultRules/>
<Properties/>
<ExclusiveCache>false</ExclusiveCache>
<ExpiryTimeInSecs>-1</ExpiryTimeInSecs>
<InitialEntries/>
<Put override="true">
<Key>
<Parameter>ref="X"</Parameter>
</Key>
<Value ref="Y"></Value>
</Put>
<Scope>organization</Scope>
</KeyValueMapOperations>
我使用下面的檢索關鍵
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<KeyValueMapOperations mapIdentifier="map1" enabled="true" continueOnError="false" async="false" name="getmap1">
<DisplayName>get map1</DisplayName>
<FaultRules/>
<Properties/>
<ExclusiveCache>false</ExclusiveCache>
<ExpiryTimeInSecs>-1</ExpiryTimeInSecs>
<InitialEntries/>
<Get assignTo="Z">
<Key>
<Parameter>ref="X"</Parameter>
</Key>
</Get>
<Scope>organization</Scope>
</KeyValueMapOperations>
請在此鏈接添加一些上下文。 「鼓勵與外部資源的鏈接,但請在鏈接中添加上下文,以便您的同行用戶瞭解它是什麼以及爲何存在。總是引用重要鏈接中最相關的部分,以防目標網站無法訪問或永久離線。「從[如何回答](http://stackoverflow.com/help/how-to-answer) – Cecilia