chunjihong 发表于 2015-7-30 14:19:43

apache synapse使用(1)

  一.Synapse介绍
  Synapse 是一个简单的 XML 和 Web 服务管理与集成代理,可用于构成 SOA 和企业服务总线(ESB)的基础。Synapse是 Web 服务项目中一项成熟的 Apache 活动,并且是非常成功的 Apache Axis2 项目的一个分支。它提供了中介、管理、以及在各种不同的应用程序之间转换 XML 消息的能力
  看看官方给出的架构图

  二.官方示例
  1,环境准备


[*]A Java 2 SE - JDK or JRE of version 1.5.x or higher (JDK 1.6.0_21 recommended)
[*]Apache Ant http://ant.apache.org
  2,日志记录示例
  在这个示例中,只是将执行过的调用执行日志记录功能
  首先下载synapse: http://synapse.apache.org/download.html
  解压,下文中提到的就是解压后的根目录,进入到/samples/axis2Server/src/SimpleStockQuoteService
  运行ant

  执行成功之后,到/samples/axis2Server目录启动服务
  axis2Server.bat
  启动

  启动Synapse
  到目录/repository/conf/sample目录下,看一下文件synapse_sample_0.xml













  定义记录所有通过的日志消息
  然后到/bin目录下,启动Synapse
  执行 synapse.bat -sample 0

  如上图所示表示启动成功
  运行客户端
  进行/samples/axis2Client目录
  运行 ant stockquote -Daddurl=http://localhost:9000/services/SimpleStockQuoteService -Dtrpurl=http://localhost:8280 -Dmode=quote -Dsymbol=IBM

  查看发布的结果
  http://localhost:9000/services/SimpleStockQuoteService
  运行其它的示例程序如上。
  使用代理服务发布


















  启动synapse服务
  synapse.bat -sample 150
  运行客户端
  ant stockquote -Dtrpurl=http://localhost:8280/services/StockQuoteProxy -Dmode=quote -Dsymbol=IBM
  控制台显示如下信息:
  Standard :: Stock price = $165.32687331383468
  3,改变日志级别
  假如你在调试模式下运行,那么可以修改对应的配置文件的日志级别
  可以在/lib目录下log4j.properties,修改
  "log4j.category.org.apache.synapse=INFO" as "log4j.category.org.apache.synapse=DEBUG"
  就可以看到调试的信息
  
  三.消息中介示例
  1,简单介绍
  在这个示例中













  使用示例有两种模式在客户端调用
  1)智能客户端模式:ant stockquote -Daddurl=http://localhost:9000/services/SimpleStockQuoteService -Dtrpurl=http://localhost:8280/
  2)使用synapse作为http代理
  执行成功行服务端能看到
  Thu Nov 03 16:47:22 CST 2011 samples.services.SimpleStockQuoteService :: Generat
ing quote for : IBM
  客户端能看到
  Standard :: Stock price = $80.1611906447455
  2,执行代理客户端





















  执行结果同上
  可以在9000端口上看到执行的结果
  打开 http://localhost:9000/services/SimpleStockQuoteService?wsdl 可以看到接口的定义
  3,使用CBR选择属性
  配置文件如下:






























  服务端执行synapse.bat -sample 2
  客户端执行

ant stockquote -Daddurl=http://localhost:9000/services/SimpleStockQuoteService -Dtrpurl=http://localhost:8280/ -Dsymbol=IBM
或者执行
ant stockquote -Daddurl=http://localhost:9000/services/SimpleStockQuoteService -Dtrpurl=http://localhost:8280/ -Dsymbol=MSFT

  后面的例子在下面的文章中依次列出
  
  四.属性说明
  1,definitions
  Synapse配置的根元素,有默认的命名空间

http://ws.apache.org/ns/synapse
  2,sequence
  这个是所有消息中介的入口点,有一个非常重要的属性

name="main"
  这个是所有程序的入口点,相当于java中的main函数
  3,log
  指定日志配置用的级别
  4,in
  标明执行请求要执行哪些中介
  
  
  
页: [1]
查看完整版本: apache synapse使用(1)