WSO2 ESB XML定义语法(2)
5.Proxy Service 配置
<proxy>元素用于定义Synapse代理服务。

通过基础Axis2引擎在指定的传输上创建和公开代理服务,根据标准的Axis2约定(即基于服务名称)公开服务EPR。请注意,目前Axis2不允许为某些传输(如http / s)上的服务设置自定义URI。代理服务可以通过所有已启用的Axis2传输(如http,https,JMS,Mail和File等)或可选的“transports”属性指定的子集上公开。默认情况下,如果未指定此属性,Synapse将尝试在所有已启用的传输上公开代理服务。
在群集设置中,可能需要在可用节点的子集上部署特定代理服务。这可以使用'pinnedServers'属性来实现。此属性采用服务器名称列表。在服务器启动时,Synapse将检查当前主机的名称是否与此属性中给出的任何名称匹配,如果找到匹配项,则仅部署代理服务。从系统属性“SynapseServerName”中选择服务器主机名,否则将使用该机器的主机名或默认为“localhost”。用户可以使用以下命令启动服务器,为Synapse服务器实例指定更有意义的名称。
./synapse.sh -serverName=<ServerName>
如果Synapse作为守护程序或服务启动,则应在wrapper.conf文件中指定上述设置。
默认情况下,创建代理服务时,会将其添加到与代理服务同名的Axis服务组。使用'serviceGroup'属性可以进一步配置此行为。可以使用“serviceGroup”属性为代理服务指定自定义Axis服务组。这样,多个代理服务可以在Axis2级别组合在一起,从而大大简化了服务管理任务。
每个服务都可以将接收到的消息的目标定义为命名序列或直接端点。代理配置需要目标inSequence或endpoint,目标outSequence定义应如何处理响应。提供的任何WS-Policies都将作为服务级别策略应用,并且可以使用'parameter'元素(例如JMS目标等)将任何服务参数传递到代理服务的AxisService实例。如果代理服务应启用WS-Reliable Messaging或Security,则应使用相应的模块,并应用指定的服务级别策略。要使用所需的模块,可以使用'enableSec'和'enableAddressing' elements
可以通过将代理的属性指定为动态条目来定义动态代理,方法是使用密钥引用它们。例如,可以使用远程密钥指定inSequence或端点,而无需在本地配置中定义它。随着远程注册表项的更改,代理的属性将相应地动态更新。(注意:代理服务定义本身不能指定为动态;即<proxy key =“string”/>错误)
可以使用'publishWSDL'元素发布代理服务的WSDL。可以通过指定“key”属性从注册表加载WSDL文档,也可以通过指定“uri”属性从任何其他位置加载WSDL文档。或者,WSDL可以作为“publishWSDL”元素的子元素内联提供。WSDL导入的工件(模式或其他WSDL文档)可以通过指定适当的“资源”元素从注册表中解析。
<publishWSDL key =“my.wsdl”> <resource location =“http://www.standards.org/standard.wsdl” key =“standard.wsdl”/> </publishWSDL>
在此示例中,使用密钥“my.wsdl”从注册表中检索WSDL。它从位置'http://www.standards.org/standard.wsdl'导入另一个WSDL。Synapse将从注册表项“standard.wsdl”中检索导入的WSDL,而不是从此位置加载它。
下面列出了一些在编写复杂代理服务时很有用的众所周知的参数。这些可以使用'parameter'标签包含在代理配置中。

下表列出了可以传递到代理服务配置的一些传输特定参数。

WSO2 ESB XML定义语法(2)的更多相关文章
- WSO2 ESB XML定义语法(1)
1.(基于Apache Synapse的WSO2 ESB实现)参考文件位置: http://synapse.apache.org/userguide/config.html 基于Apache Syna ...
- WSO2 ESB XML定义语法(3)
6.Property Mediator 通过Synapse调解的每条消息都可以具有一组关联的属性.Synapse引擎和底层传输在处理的每条消息上设置了许多属性,用户可以操纵这些属性来修改消息流的运行时 ...
- 自己对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.存储过程以 ...
随机推荐
- 流处理引擎(SPE)中的的分布式一致性语义之Exactly-Once和Effectively-Onece区别
-- At most Onece:最多一次,如果算子处理事件失败,事件将不再尝试该事件. -- At Least Onece:至少一次,如果算子处理事件失败,算子会再次尝试该处理事件,直到有一次成功. ...
- SparkShuffle机制
在早期版本的Spark中,shuffle过程没有磁盘读写操作,是纯内存操作,后来发现效率较低,且极易引发OOME,较新版本的Shuffle操作都加入了磁盘读写进行了改进. 1.未经优化的HashShu ...
- appium server与nodeJs 兼容问题
在命令行模式下启动appium server时报错:error: uncaughtException: Cannot find module 'internal/util/types' 再来看看app ...
- kuangbin专题 专题九 连通图 POJ 3177 Redundant Paths
题目链接:https://vjudge.net/article/371?tdsourcetag=s_pcqq_aiomsg 题目:给定一个连通图,题目说,任意两个点至少有一条路线可以相互到达, 为保证 ...
- c# 异步编程总结
异步编程前提 1.学委托 delegate 其中委托中的beginInvoke()和endInvoke()方法必须要会. 2.学习回调函数 (也可以不用,但是一般建议用回调函数中执行endinvoke ...
- <packaging>pom</packaging>是什么意思
<packaging>pom</packaging>是什么意思? 答: 以下配置<packaging>pom</packaging>的意思是使用mave ...
- layui导出表格设置常用函数
1.设置导出单元格为数字格式 字段名: function (value, line, data) { return { v: value, t: 'n' } }
- es的分布式架构原理是什么?
es的分布式架构原理是什么? 1.首先说一些分片(shard)是什么? ES中所有数据均衡的存储在集群中各个节点的分片中,会影响ES的性能.安全和稳定性 每个shard都是一个最小工作单元,承载部分数 ...
- 【架构篇】ASP.NET Core 基于 Consul 动态配置热更新
背景 通常,.Net 应用程序中的配置存储在配置文件中,例如 App.config.Web.config 或 appsettings.json.从 ASP.Net Core 开始,出现了一个新的可扩展 ...
- CSS操作
CSS 与 JavaScript 是两个有着明确分工的领域,前者负责页面的视觉效果,后者负责与用户的行为互动.但是,它们毕竟同属网页开发的前端,因此不可避免有着交叉和互相配合. 1. 使用JavaSc ...