WSO2 ESB XML定义语法(3)
6.Property Mediator
通过Synapse调解的每条消息都可以具有一组关联的属性。Synapse引擎和底层传输在处理的每条消息上设置了许多属性,用户可以操纵这些属性来修改消息流的运行时行为。此外,用户可以在消息上设置他自己的属性,这在管理消息流状态和存储特定于场景的变量时非常有用。例如,在某些情况下,用户可能希望在处理响应时访问请求有效负载中的特定值。
属性中介用于操纵消息的属性。此介体可用于设置和删除属性值。在设置属性值时,输入可以是由XPath表达式生成的常量或变量值。配置属性Mediator的语法如下。
<property name="string" [action=set|remove] [type="string"] (value="literal" | expression="xpath")
[scope=default|transport|axis2|axis2-client] [pattern="regex" [group="integer"]]>
<xml-element/>?
</property>
'name'属性指定需要设置或删除的属性的名称,而'action'属性指定需要由Mediator执行的确切操作。如果未指定,则操作将默认为“设置”。
设置属性值时,必须指定“value”或“expression”属性。'value'属性可用于将常量设置为属性值,而'expression'属性可用于指定XPath表达式(http://synapse.apache.org/userguide/xpath.html)。如果指定了XPath表达式,Synapse将对消息进行评估,以确定需要分配给属性的值。
Synapse属性是作用域。因此,在使用此Mediator时,用户应指定将设置或删除属性的范围。如果未指定,则属性介体将在“默认”范围内工作。只要事务(请求 - 响应)存在,此范围中设置的属性就会持续。在范围'axis2'上设置的属性具有较短的寿命,它主要用于将参数传递给基础Axis2引擎。“传输”范围中设置的属性将被视为传输标头。例如,如果需要使用传出请求发送名为“CustomHeader”的HTTP标头,
<property name="CustomHeader" value="some value" scope="transport" type="type name"/>
这将强制Synapse发送名为“CustomHeader”的传输标头以及传出消息。Property mediator还支持名为'axis2-client'的作用域。在此范围中设置的属性将被视为Axis2客户端选项。
使用属性存储用户或方案特定信息时,建议始终使用“默认”范围。其他范围不应用于自定义开发或中介工作,因为它们有可能改变基础Axis2引擎和传输框架的行为。
默认情况下,属性介体将所有属性值设置为字符串。可以通过指定“type”属性来设置其他类型的属性。此属性可以接受以下值之一。
- STRING
- BOOLEAN
- DOUBLE
- FLOAT
- INTEGER
- LONG
- SHORT
- OM
类型名称区分大小写。类型“OM”可用于在消息上下文中设置XML属性值。当在调解期间与属性介体关联的表达式求值为XML节点时,这将非常有用。将type属性设置为'OM'后,生成的XML将在将其分配给属性之前转换为AXIOM OMElement。
也可以使用属性mediator将一些静态XML内容设置为属性值。为此,请将静态XML内容指定为“property”元素的子节点,而不是使用“value”属性。
WSO2 ESB XML定义语法(3)的更多相关文章
- WSO2 ESB XML定义语法(1)
1.(基于Apache Synapse的WSO2 ESB实现)参考文件位置: http://synapse.apache.org/userguide/config.html 基于Apache Syna ...
- WSO2 ESB XML定义语法(2)
5.Proxy Service 配置 <proxy>元素用于定义Synapse代理服务. 通过基础Axis2引擎在指定的传输上创建和公开代理服务,根据标准的Axis2约定(即基于服务名称) ...
- 自己对WSO2 ESB 见解
这周没想到要更新什么内容,就把我最近工作接触的WSO2 ESB简单介绍下吧. 前提: 一切文档,知识都要与官方文档为准. WSO2 ESB: http://wso2.com/products/ ...
- XML DTD语法详解
XML DTD详解 XML DTD详解 前情提要与本文内容介绍 前面的两篇XML相关博文: 第一篇是介绍格式正规的XML: 格式正规的XML:语法 属性 实体 处理指令 样式单 CDATA节 第二 ...
- JAVA企业级开发-xml基础语法&约束&解析(04)
一.什么是xml html:超文本标记语言.它主要是用来封装页面上要显示的数据,最后通过浏览器来解析html文件,然后把数据展示在浏览器上.同样我们可以使用JS和DOM技术对html文件进行解析和操作 ...
- java日志框架系列(4):logback框架xml配置文件语法
1.xml配置文件语法 由于logback配置文件语法特别灵活,因此无法用DTD或schema进行定义. 1.配置文件基本结构 配置文件基本结构:以<configuration>标签开头, ...
- WSO2 ESB
什么是WSO2 ESB? WSO2 ESB是一个轻量级的易于使用的企业服务资源总线.WSO2 ESB允许系统管理员和SOA架构师,消息路由,虚拟化,中介,转换,日志记录,任务调度,负载平衡,失败了路由 ...
- django 自定用户系统 以及 Django Model 定义语法
http://www.tuicool.com/articles/jMzIr2 django使用自己的用户系统 http://www.jianshu.com/p/c10be59aad7a Django ...
- MyBatis笔记----MyBatis 入门经典的两个例子: XML 定义与注解定义
----致敬MyBatis官方开放文档让大家翻译,不用看书直接看文档就行了,mybatis的中文文档还需要完备的地方 简介 什么是 MyBatis ? MyBatis 是支持定制化 SQL.存储过程以 ...
随机推荐
- MS14-068提权和impacket工具包提权
ms14-068提权 工具利用 a)拿下边界机win7,并已经有win7上任意一个账号的密码 -u 用户名@域 -p 用户密码 -s 用户sid -d 域控 ms14-068.exe -u test3 ...
- MySQL安全管理
数据库服务器通常包含关键的数据,确保这些数据的安全和完整需要利用访问控制. 一.访问控制 MySQL服务器的安全基础:用户应该对他们需要的数据具有适当的访问权,既不能多也不能少. 访问控制:你需要给用 ...
- 算法训练 最大获利 注意数据规模(long long)
资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 Chakra是一位年轻有为的企业家,最近他在进军餐饮行业.他在各地开拓市场,共买下了N个饭店.在初期的市场调研中,他将一天划分为M ...
- MSSQL sqlserver 统计"一个字符串"在"另一个字符串"中出现的次数的方法
转自 http://www.maomao365.com/?p=9858 摘要: 下文讲述sqlserver中最快获取一个字符串在另一个字符串中出现个数的方法分享 实验环境:sql server 20 ...
- Android开发中按钮的语法
按钮的主要作用就是触发一个动作,所以会用到监听器. 如何为按钮添加单机事件监听器: 1.匿名内部类作为单机事件监听器 案例: 首先在.xml文件中添加一个按钮一,然后设置其id属性,然后在main里获 ...
- Dijkstra算法(Matlab实现)
a = [,,,,,,]; % 起点节点 b = [,,,,,,]; % 终点节点 c = [,,,,,,]; % 对应权值 g = digraph(a,b,c); % 创建图 [path,dista ...
- BUUCTF 部分wp
目录 Buuctf crypto 0x01传感器 提示是曼联,猜测为曼彻斯特密码 wp:https://www.xmsec.cc/manchester-encode/ cipher: 55555555 ...
- 刷题79. Word Search
一.题目说明 题目79. Word Search,给定一个由字符组成的矩阵,从矩阵中查找一个字符串是否存在.可以连续横.纵找.不能重复使用,难度是Medium. 二.我的解答 惭愧,我写了很久总是有问 ...
- 一起学Vue之条件判断
在Vue进行前端开发中,条件判断主要用于根据不同的条件来决定显示或隐藏,或者进行视图之间的切换,本文以一个简单的小例子简述v-if的常见用法,仅供学习分享使用,如有不足之处,还请指正. v-if 指令 ...
- CSS字体连写及外观属性
一.font:字体连写 使用font属性时,必须按以下语法格式中的顺序书写,不能更换顺序,各个属性以空格隔开.注意:其中不需要设置的属性可以省略(取默认值),但必须保留font-size和font-f ...