2016-06-24 2 views
1

message.getInvocationPropertiesmulesoft - グルーヴィーなコンポーネントでmessage.getInvocationPropertiesでHashMapを取得する方法を

こんにちはみんなでHashMapを取得する方法、

私は3.7.3実行時にグルーヴィーコンポーネントでこれを使用しようとしています。

import java.util.*; 
import org.mule.api.transport.PropertyScope; 

HashMap sample = new HashMap<>(); 
sample.put("name", "abc"); 
message.setProperty("datastore", sample, PropertyScope.SESSION); 
HashMap dataStoreMap = (HashMap)message.getInvocationProperty('datastore'); 

Cannot cast object '' with class 'java.lang.String' to class 'java.util.HashMap'の例外があります。どのようにこれを修正するための任意のアイデア?

ただし、APIはmessage.getInvocationProperty(nameを示唆しています)は汎用データ型を返します。

答えて

0

私はここから同じ答えを示唆:https://forums.mulesoft.com/questions/44598/how-to-get-a-hashmap-in-messagegetinvocationproper.html

、あなたがHashMapを取得します、PropertyScope.INVOCATIONPropertyScope.SESSIONからスコープを交換してください。

あなたが最後にスクリプトを変更、その後、セッションスコープにマップを保持したい場合は:あなたはHashMapを取得します、PropertyScope.INVOCATIONとPropertyScope.SESSIONからスコープを取り付けmessage.getProperty('datastore', PropertyScope.SESSION)

0

。それは動作するはずです

0

プロパティのスコープをSESSIONからINVOCATIONに変更します。message.setProperty( "datastore"、sample、PropertyScope.INVOCATION);

関連する問題