此中介不会对消息造成直接影响,而是对流经突触的消息上下文产生直接影响。可以通过Synapse XPath变量或get-property()扩展函数检索在消息中设置的属性。一个属性可以有一个有效的定义范围。若未指定范围,则默认设置为突触消息上下文范围。使用指定为remove的动作的属性元素,可以删除任何现有的消息上下文属性。
请参阅“属性参考 ”以获取WSO2 ESB支持的各种类型属性的列表,其中包含说明和用例。
语法:
UI界面配置:
用于配置property介质的参数有:
例子:
1、配置名为'symbol'的属性,并用Log Mediator记录:
2、根据Accept HTTP Headerf发送错误消息:
在这种配置下,根据Accept标头,一条相应的响应将会发送到客户端,PayloadFactory Mediator将对消息内容进行转换。Property Mediator根据Accept头使用$ctx:accept表达式设置消息类型。响应通过Response Mediator返回到客户端。
注意:在Synapse配置中,你可以直接使用预定义的XPath变量(如:$ctx),而不用get-property()函数。这些XPath变量可从多个scopes中获取属性,而且比执行注册表查找的get-property()函数性能更好。更多关于XPath 变量获取属性信息的内容,见Synapse XPath Variables .
3、读取一个存储在注册表中的属性:
你可以在你的Synapse配置中使用get-property()函数来读取一个属性。例如,下面的synapse配置从gov:/data/xml/collectionx中取回了abc这个属性并存储到regProperty属性中。
你可以通过以下语法来读取gov或conf注册表中的属性或资源。指定资源的路径时,不要给绝对路径。而是使用gov或conf前缀。
4、读取注册表中文件:
下面是一个使用XPath从注册表中的xml文件中检索一个值的例子,假设你在注册表中有如下的一个xml文件:
使用XPath读取xml的synapse配置如下:
获取的结果: