官方文档学习-Propertiy Mediator

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

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

    语法:


property mediator语法

UI界面配置:


官方文档学习-Propertiy Mediator_第1张图片
UI界面配置Property Mediator

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


官方文档学习-Propertiy Mediator_第2张图片


官方文档学习-Propertiy Mediator_第3张图片


官方文档学习-Propertiy Mediator_第4张图片

例子:

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


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 .


官方文档学习-Propertiy Mediator_第5张图片
property mediator example 2

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

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


property mediator example 3

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


官方文档学习-Propertiy Mediator_第6张图片
读取注册表中资源语法

4、读取注册表中文件:

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


测试xml

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


synapse配置

获取的结果:


结果

你可能感兴趣的:(官方文档学习-Propertiy Mediator)