? ? 此中介不會對消息造成直接影響,而是對流經(jīng)突觸的消息上下文產(chǎn)生直接影響〕ǎ可以通過Synapse XPath變量或get-property()擴(kuò)展函數(shù)檢索在消息中設(shè)置的屬性踩窖。一個(gè)屬性可以有一個(gè)有效的定義范圍漩绵。若未指定范圍,則默認(rèn)設(shè)置為突觸消息上下文范圍。使用指定為remove的動作的屬性元素,可以刪除任何現(xiàn)有的消息上下文屬性吁朦。
? ??請參閱“屬性參考 ”以獲取WSO2 ESB支持的各種類型屬性的列表,其中包含說明和用例渡贾。
? ? 語法:
UI界面配置:
?用于配置property介質(zhì)的參數(shù)有:
例子:
1逗宜、配置名為'symbol'的屬性,并用Log Mediator記錄:
2、根據(jù)Accept HTTP Headerf發(fā)送錯(cuò)誤消息:
在這種配置下纺讲,根據(jù)Accept標(biāo)頭擂仍,一條相應(yīng)的響應(yīng)將會發(fā)送到客戶端,PayloadFactory Mediator將對消息內(nèi)容進(jìn)行轉(zhuǎn)換熬甚。Property Mediator根據(jù)Accept頭使用$ctx:accept表達(dá)式設(shè)置消息類型逢渔。響應(yīng)通過Response Mediator返回到客戶端。
注意:在Synapse配置中乡括,你可以直接使用預(yù)定義的XPath變量(如:$ctx)复局,而不用get-property()函數(shù)。這些XPath變量可從多個(gè)scopes中獲取屬性粟判,而且比執(zhí)行注冊表查找的get-property()函數(shù)性能更好。更多關(guān)于XPath 變量獲取屬性信息的內(nèi)容峦剔,見Synapse XPath Variables .
3档礁、讀取一個(gè)存儲在注冊表中的屬性:
你可以在你的Synapse配置中使用get-property()函數(shù)來讀取一個(gè)屬性。例如吝沫,下面的synapse配置從gov:/data/xml/collectionx中取回了abc這個(gè)屬性并存儲到regProperty屬性中呻澜。
你可以通過以下語法來讀取gov或conf注冊表中的屬性或資源。指定資源的路徑時(shí)惨险,不要給絕對路徑羹幸。而是使用gov或conf前綴。
4辫愉、讀取注冊表中文件:
下面是一個(gè)使用XPath從注冊表中的xml文件中檢索一個(gè)值的例子栅受,假設(shè)你在注冊表中有如下的一個(gè)xml文件:
使用XPath讀取xml的synapse配置如下:
獲取的結(jié)果: