官方文档学习-Propertiy Mediator

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

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

    语法:


property mediator语法

UI界面配置:


UI界面配置Property Mediator

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




例子:

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 .


property mediator example 2

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

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


property mediator example 3

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


读取注册表中资源语法

4、读取注册表中文件:

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


测试xml

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


synapse配置

获取的结果:


结果
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,908评论 18 139
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,141评论 6 13
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,948评论 6 342
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,764评论 18 399
  • 当你还在熟睡,我还在努力的工作!我好困!好想睡觉!
    书香之颜如玉阅读 106评论 0 0