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)的更多相关文章

  1. WSO2 ESB XML定义语法(1)

    1.(基于Apache Synapse的WSO2 ESB实现)参考文件位置: http://synapse.apache.org/userguide/config.html 基于Apache Syna ...

  2. WSO2 ESB XML定义语法(3)

    6.Property Mediator 通过Synapse调解的每条消息都可以具有一组关联的属性.Synapse引擎和底层传输在处理的每条消息上设置了许多属性,用户可以操纵这些属性来修改消息流的运行时 ...

  3. 自己对WSO2 ESB 见解

    这周没想到要更新什么内容,就把我最近工作接触的WSO2 ESB简单介绍下吧.     前提: 一切文档,知识都要与官方文档为准. WSO2 ESB: http://wso2.com/products/ ...

  4. XML DTD语法详解

    XML DTD详解   XML DTD详解 前情提要与本文内容介绍 前面的两篇XML相关博文: 第一篇是介绍格式正规的XML: 格式正规的XML:语法 属性 实体 处理指令 样式单 CDATA节 第二 ...

  5. JAVA企业级开发-xml基础语法&约束&解析(04)

    一.什么是xml html:超文本标记语言.它主要是用来封装页面上要显示的数据,最后通过浏览器来解析html文件,然后把数据展示在浏览器上.同样我们可以使用JS和DOM技术对html文件进行解析和操作 ...

  6. java日志框架系列(4):logback框架xml配置文件语法

    1.xml配置文件语法 由于logback配置文件语法特别灵活,因此无法用DTD或schema进行定义. 1.配置文件基本结构 配置文件基本结构:以<configuration>标签开头, ...

  7. WSO2 ESB

    什么是WSO2 ESB? WSO2 ESB是一个轻量级的易于使用的企业服务资源总线.WSO2 ESB允许系统管理员和SOA架构师,消息路由,虚拟化,中介,转换,日志记录,任务调度,负载平衡,失败了路由 ...

  8. django 自定用户系统 以及 Django Model 定义语法

    http://www.tuicool.com/articles/jMzIr2 django使用自己的用户系统 http://www.jianshu.com/p/c10be59aad7a Django ...

  9. MyBatis笔记----MyBatis 入门经典的两个例子: XML 定义与注解定义

    ----致敬MyBatis官方开放文档让大家翻译,不用看书直接看文档就行了,mybatis的中文文档还需要完备的地方 简介 什么是 MyBatis ? MyBatis 是支持定制化 SQL.存储过程以 ...

随机推荐

  1. 想学大学计算机课?这 37 门 CS 专业必修课,了解一下

    最近,不少高校延迟开学,大家只能宅家上网课. 有一些朋友,想趁此期间,多学点计算机的专业课,却不知从何学起. 211,985大学的计算机专业课都是经过授课教师精心安排的,从大一到大四,课程合理设置,循 ...

  2. Java基础之六、Java编程思想(8-10)

    八.多态 多态(也称作动态绑定.后期绑定或运行时绑定) 域(成员变量)是不具有多态性的,只有普通的方法调用是多态的,任何域访问操作都将由编译器解析,因此不是多态的 静态方法也是不具有多态性的 publ ...

  3. Zookeeper机制

    顾名思义 zookeeper 就是动物园管理员,他是用来管 hadoop(大象).Hive(蜜蜂).pig(小 猪)的管理员, Apache Hbase 和 Apache Solr 的分布式集群都用到 ...

  4. redis 5.0.7 源码阅读——整数集合intset

    redis中整数集合intset相关的文件为:intset.h与intset.c intset的所有操作与操作一个排序整形数组 int a[N]类似,只是根据类型做了内存上的优化. 一.数据结构 ty ...

  5. mysql删除索引

    删除索引 删除索引可以使用ALTER TABLE或DROP INDEX语句来实现.DROP INDEX可以在ALTER TABLE内部作为一条语句处理,其格式如下: drop index index_ ...

  6. 如何实现广告响应式滚动 OwlCarousel2

    githu    https://github.com/OwlCarousel2/OwlCarousel2 OwlCarousel2 官方网址    http://owlcarousel2.githu ...

  7. #《Essential C++》读书笔记# 第四章 基于对象的编程风格

    基础知识 Class的定义由两部分组成:class的声明,以及紧接在声明之后的主体.主体部分由一对大括号括住,并以分号结尾.主体内的两个关键字public和private,用来标示每个块的" ...

  8. MySQL Execute Plan--Index Merge特性

    Index Merge特性 在MySQL 5.5之前版本中,查询或子查询被限制在一个表只能使用一个索引(回表查询除外). 假设表TB1001上C1和C2列分别有单列索引,如对下面查询: SELECT ...

  9. 用ArcGIS Runtime for Android建立简单App,展示地图

    1.新建AS项目 此处引用官网上新建项目的过程,很简单,不做翻译了. 2.配置ArcGIS Runtime for Android100.5.0环境 2-1.项目切换成Project 2-2 .选择P ...

  10. PTA 符号配对 —— C++

    请编写程序检查C语言源程序中下列符号是否配对:/*与 */.(与 ).[与].{与}. 输入格式: 输入为一个C语言源程序.当读到某一行中只有一个句点.和一个回车的时候,标志着输入结束.程序中需要检查 ...