官方文档学习-Propertiy Mediator

    此中介不会对消息造成直接影响,而是对流经突触的消息上下文产生直接影响。可以通过Synapse XPath变量或get-property()扩展函数检索在消息中设置的属性。一个属性可以有一个有效的定义范围。若未指定范围,则默认设置为突触消息上下文范围。使用指定为remove的动作的属性元素,可以删除任何现有的消息上下文属性。

    请参阅“属性参考 ”以获取WSO2 ESB支持的各种类型属性的列表,其中包含说明和用例。

    语法:


7786310-3202d42a820585c0.png
property mediator语法

UI界面配置:


7786310-427be36cecee3a9f.png
UI界面配置Property Mediator

 用于配置property介质的参数有:


7786310-19bbc13755ff3ec5.png


7786310-0f12763d112556f8.png


7786310-69c0339a9142fcf6.png

例子:

1、配置名为'symbol'的属性,并用Log Mediator记录:


7786310-7b08e89174bc45bc.png
property mediator example 1

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 .


7786310-965a087345199711.png
property mediator example 2

3、读取一个存储在注册表中的属性:

你可以在你的Synapse配置中使用get-property()函数来读取一个属性。例如,下面的synapse配置从gov:/data/xml/collectionx中取回了abc这个属性并存储到regProperty属性中。


7786310-01bbc5ae1aa125dd.png
property mediator example 3

你可以通过以下语法来读取gov或conf注册表中的属性或资源。指定资源的路径时,不要给绝对路径。而是使用gov或conf前缀。


7786310-ca2db896d01186c5.png
读取注册表中资源语法

4、读取注册表中文件:

下面是一个使用XPath从注册表中的xml文件中检索一个值的例子,假设你在注册表中有如下的一个xml文件:


7786310-74b080e0aa47e205.png
测试xml

使用XPath读取xml的synapse配置如下:


7786310-2e91bcc876573711.png
synapse配置

获取的结果:


7786310-c79e93344d41b286.png
结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值