wso2 esb

我最近加入了一个新任务,我们必须基于WSO2工具栈实施ESB解决方案。 尽管我熟悉ESB的大多数概念以及其他一些实现(例如Mule ESB ),但这是我第一次必须使用WSO2 ESB 。 幸运的是,有很多文档可以找到,该工具附带了大量示例,介绍如何使用ESB。 在这篇文章中,我展示了使第一个示例正常工作的步骤。 有关更详尽的说明,请参阅此处的信息。

第一步是下载并安装ESB,这非常容易。 您可以在此处下载zip。 下载后,只需将其解压缩到要安装该工具的位置即可。 我安装在目录中

'用户/pascal/develop/wso2esb-4.5.1? 解压缩后,您将在解压缩的文件夹中看到文件“ INSTALL.txt”。 在此文件中,所有信息都说明了如何启动和停止ESB。 要使用样本,您必须使用以下命令启动ESB:

./wso2esb-samples.sh -sn ${sample-number}

其中“ $ {sample-number}”是您要运行的样品编号。 因此,要使用示例1运行ESB,只需使用以下命令启动ESB:

'./wso2esb-samples.sh -sn 1'

并且您将看到这样的日志记录:

请注意,通过修改目录“ $ CARBON_HOME / repository / conf /”中的“ log4j.properties”,我将“ org.apache.synapse”包的日志级别设置为DEBUG。 第一个示例主要基于代理或重定向到现有服务。 这些服务基于Axis2,并且随WSO2 ESB的安装一起提供。 要启动Axis2服务器,请打开一个新的终端窗口,浏览至目录'$ CARBON_HOME / samples / axis2Server',然后执行命令'./axis2server.sh'。 如在日志记录的控制台中所示,这将启动SimpleAxisServer:

如果打开浏览器并导航到'http://localhost:9000/services' ,将会看到我们当前没有正在运行的服务:

要部署服务,例如SimpleStockQuoteService,请打开一个新终端并导航到以下目录:$ CARBON + HOME / samples / axis2Server / src / SimpleStockQuoteService。 在这里,只需提供“ ant”命令,即可将服务编译,构建并部署到我们之前启动的Axis2Server:

现在,如果我们查看'http://localhost:9000/services'我们将看到SimpleStockService可用于请求:

如果需要,可以使用SoapUI测试服务:

因此,现在我们已经为第一个示例准备好了服务器端。 让我们运行客户端。 每个样本都有说明如何运行Axis2客户端的文档。 对于样本1,文档显示如下:

打开一个新终端,浏览到以下目录“ /Users/pascal/develop/wso2esb-4.5.1/samples/axis2Client”,并提供所述命令以运行客户端:

如您所见,我们收到了股票IBM的报价。 在运行WSO2 ESB的终端中,我们看到由传入请求引起的以下日志记录:

[2013-03-03 16:58:03,113] DEBUG - SynapseMessageReceiver Synapse received a new message for message mediation...
[2013-03-03 16:58:03,114] DEBUG - SynapseMessageReceiver Received To: /services/StockQuote
[2013-03-03 16:58:03,114] DEBUG - SynapseMessageReceiver SOAPAction: urn:getQuote
[2013-03-03 16:58:03,114] DEBUG - SynapseMessageReceiver WSA-Action: urn:getQuote
[2013-03-03 16:58:03,114] DEBUG - Axis2SynapseEnvironment Injecting MessageContext
[2013-03-03 16:58:03,115] DEBUG - Axis2SynapseEnvironment Using Main Sequence for injected message
[2013-03-03 16:58:03,115] DEBUG - SequenceMediator Start : Sequence <main>
[2013-03-03 16:58:03,115] DEBUG - SequenceMediator Sequence <SequenceMediator> :: mediate()
[2013-03-03 16:58:03,115] DEBUG - InMediator Start : In mediator
[2013-03-03 16:58:03,115] DEBUG - InMediator Current message is incoming - executing child mediators
[2013-03-03 16:58:03,115] DEBUG - InMediator Sequence <InMediator> :: mediate()
[2013-03-03 16:58:03,115] DEBUG - FilterMediator Start : Filter mediator
[2013-03-03 16:58:03,116] DEBUG - FilterMediator Source : get-property('To') against : .*/StockQuote.* matches - executing child mediators
[2013-03-03 16:58:03,116] DEBUG - FilterMediator Sequence <FilterMediator> :: mediate()
[2013-03-03 16:58:03,116] DEBUG - SendMediator Start : Send mediator
[2013-03-03 16:58:03,116] DEBUG - EndpointContext Checking if endpoint : endpoint_d06dafda969c8e11992a8e8f5366fd33203399eaae89984c currently at state ACTIVE can be used now?
[2013-03-03 16:58:03,116] DEBUG - AddressEndpoint Sending message through endpoint : endpoint_d06dafda969c8e11992a8e8f5366fd33203399eaae89984c resolving to address = http://localhost:9000/services/SimpleStockQuoteService
[2013-03-03 16:58:03,116] DEBUG - AddressEndpoint SOAPAction: urn:getQuote
[2013-03-03 16:58:03,116] DEBUG - AddressEndpoint WSA-Action: urn:getQuote
[2013-03-03 16:58:03,117] DEBUG - Axis2FlexibleMEPClient Sending [add = false] [sec = false] [rm = false] [mtom = false] [swa = false] [format = null] [force soap11=false] [force soap12=false] [pox=false] [get=false] [encoding=null] [to=http://localhost:9000/services/SimpleStockQuoteService]
[2013-03-03 16:58:03,117] DEBUG - Axis2FlexibleMEPClient Message [Original Request Message ID : urn:uuid:381071f8-c6ca-4e14-bfe4-0e53de7f7cc2] [New Cloned Request Message ID : urn:uuid:503aabca-2a04-413f-ba44-b6c623bf9db6]
[2013-03-03 16:58:03,117] DEBUG - SynapseCallbackReceiver Callback added. Total callbacks waiting for : 1
[2013-03-03 16:58:03,119] DEBUG - SendMediator End : Send mediator
[2013-03-03 16:58:03,120] DEBUG - DropMediator Start : Drop mediator
[2013-03-03 16:58:03,120] DEBUG - DropMediator End : Drop mediator
[2013-03-03 16:58:03,120] DEBUG - FilterMediator End : Filter mediator
[2013-03-03 16:58:03,120] DEBUG - InMediator End : In mediator
[2013-03-03 16:58:03,120] DEBUG - SequenceMediator End : Sequence <main>
[2013-03-03 16:58:03,130] DEBUG - SynapseCallbackReceiver Callback removed for request message id : urn:uuid:503aabca-2a04-413f-ba44-b6c623bf9db6. Pending callbacks count : 0
[2013-03-03 16:58:03,132] DEBUG - SynapseCallbackReceiver Synapse received an asynchronous response message
[2013-03-03 16:58:03,133] DEBUG - SynapseCallbackReceiver Received To: null
[2013-03-03 16:58:03,133] DEBUG - SynapseCallbackReceiver SOAPAction:
[2013-03-03 16:58:03,133] DEBUG - SynapseCallbackReceiver WSA-Action:
[2013-03-03 16:58:03,134] DEBUG - SynapseCallbackReceiver Body :
<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'><soapenv:Body><ns:getQuoteResponse xmlns:ns='http://services.samples'><ns:return xmlns:ax21='http://services.samples/xsd' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:type='ax21:GetQuoteResponse'><ax21:change>4.155006565416989</ax21:change><ax21:earnings>-8.118428276798063</ax21:earnings><ax21:high>84.31871512134151</ax21:high><ax21:last>80.49639852693167</ax21:last><ax21:lastTradeTimestamp>Sun Mar 03 16:58:03 CET 2013</ax21:lastTradeTimestamp><ax21:low>-79.94179251359746</ax21:low><ax21:marketCap>-6855110.427635921</ax21:marketCap><ax21:name>IBM Company</ax21:name><ax21:open>83.68193468970854</ax21:open><ax21:peRatio>23.68015151185118</ax21:peRatio><ax21:percentageChange>-5.440098733913549</ax21:percentageChange><ax21:prevClose>-76.37741093768571</ax21:prevClose><ax21:symbol>IBM</ax21:symbol><ax21:volume>16034</ax21:volume></ns:return></ns:getQuoteResponse></soapenv:Body></soapenv:Envelope>
[2013-03-03 16:58:03,134] DEBUG - Axis2SynapseEnvironment Injecting MessageContext
[2013-03-03 16:58:03,135] DEBUG - Axis2SynapseEnvironment Using Main Sequence for injected message
[2013-03-03 16:58:03,135] DEBUG - SequenceMediator Start : Sequence <main>
[2013-03-03 16:58:03,135] DEBUG - SequenceMediator Sequence <SequenceMediator> :: mediate()
[2013-03-03 16:58:03,135] DEBUG - InMediator Start : In mediator
[2013-03-03 16:58:03,135] DEBUG - InMediator Current message is a response - skipping child mediators
[2013-03-03 16:58:03,135] DEBUG - InMediator End : In mediator
[2013-03-03 16:58:03,135] DEBUG - OutMediator Start : Out mediator
[2013-03-03 16:58:03,136] DEBUG - OutMediator Current message is outgoing - executing child mediators
[2013-03-03 16:58:03,136] DEBUG - OutMediator Sequence <OutMediator> :: mediate()
[2013-03-03 16:58:03,136] DEBUG - SendMediator Start : Send mediator
[2013-03-03 16:58:03,136] DEBUG - SendMediator Sending response message using implicit message properties..
Sending To: http://www.w3.org/2005/08/addressing/anonymous
SOAPAction:
[2013-03-03 16:58:03,138] DEBUG - SendMediator End : Send mediator
[2013-03-03 16:58:03,138] DEBUG - OutMediator End : Out mediator
[2013-03-03 16:58:03,138] DEBUG - SequenceMediator End : Sequence <main>

最后,在Axis2Server终端中,由于示例流将请求传递到端口9000,因此将以下行添加到日志记录中:

Sun Mar 03 16:58:03 CET 2013 samples.services.SimpleStockQuoteService :: Generating quote for : IBM

这表明该示例运行正常,并且已执行所有预期的操作。 下一步将通过所有其他示例,以更好地理解WSO2 ESB的可能性。

参考: 从WSO2 ESB开始,通过运行 The Pragmatic Integrator博客上的JCG合作伙伴 Pascal Alma提供的示例 。

翻译自: https://www.javacodegeeks.com/2013/03/starting-with-wso2-esb-by-running-the-samples.html

wso2 esb

wso2 esb_通过运行示例从WSO2 ESB开始相关推荐

  1. 通过运行示例从WSO2 ESB开始

    我最近加入了一个新任务,在该任务中,我们必须基于WSO2工具栈实施ESB解决方案. 尽管我熟悉ESB的大多数概念以及其他一些实现(例如Mule ESB ),但这是我第一次必须使用WSO2 ESB . ...

  2. Qt Creator构建并运行示例

    Qt Creator构建并运行示例 构建并运行示例 构建并运行示例 您可以通过打开现有的示例应用程序项目来测试Qt安装是否成功. 要在Android或iOS设备上运行示例应用程序,必须为Android ...

  3. Java黑皮书课后题第8章:*8.8(所有最近的点对)修改程序清单8-3,找出所有所有具有最小距离的点对。下面是一个运行示例

    *8.8(所有最近的点对)修改程序清单8-3,找出所有所有具有最小距离的点对.下面是一个运行示例 题目 题目描述与运行示例 程序清单8-3 破题 代码 题目 题目描述与运行示例 *8.8(所有最近的点 ...

  4. Java黑皮书课后题第5章:*5.44(计算机体系结构:比特级的操作)一个short型值用16位比特存储。编写程序,提示用户输入一个short型的整数,然后显示这个整数的16比特形式,下面是运行示例

    5.44(计算机体系结构:比特级的操作)一个short型值用16位比特存储.编写程序,提示用户输入一个short型的整数,然后显示这个整数的16比特形式 题目 题目概述 运行示例 资料与破题 原码反码 ...

  5. spark在服务器运行示例_创建示例HTTPS服务器以获取乐趣和收益

    spark在服务器运行示例 通常,在开发或/和针对真实场景进行测试期间,我们(开发人员)面临着运行成熟的HTTPS服务器的需求,可能同时进行一些模拟. 在JVM平台上,除非您知道适合此工作的正确工具, ...

  6. sublime c语言如何编译,Sublime Text 3 实现C语言代码的编译和运行(示例讲解)

    Sublime Text 3是一款优秀的代码编辑软件.界面简洁,轻巧快速,很受大家的欢迎. 最近开始用他来编辑数据结构的代码,这就需要在新建编译系统. 具体方法如下: 首先: 接下来是关键的一步,将以 ...

  7. sublime3编程c语言,Sublime Text 3 实现C语言代码的编译和运行(示例讲解)

    Sublime Text 3 实现C语言代码的编译和运行(示例讲解) 发布时间:2020-10-14 12:48:35 来源:脚本之家 阅读:107 作者:jingxian Sublime Text ...

  8. ROCm 5.4.3 在 ubuntu 20.04 上安装并运行示例

    0. 官方说明: AMD Documentation - Portal AMD Documentation - Portal 按照官方文档,操作到底: prerequisite 中也有操作: 显卡类型 ...

  9. windows10搭建CUDA环境并运行示例

    文章目录 1. 配置检查 2. 安装vs 3. 安装CUDA 4. 检测CUDA是否安装成功 5. 配置VS开发环境运行CUDA 6. 新建CUDA项目 6. 可能遇到的一些问题 1. 配置检查 我的 ...

最新文章

  1. 获取用户电脑的上网IP地址
  2. 多帧点云拼接的全局ICP算法【附Matlab代码链接】
  3. 好友国自然基金获批!畅饮之余透露给我这个秘密
  4. wireshark 配 filddler 手机抓包
  5. 计算机网络多线程通信,多线程技术的PLC与PC的通讯方式
  6. (三)虚拟化技术重点笔记与总结
  7. jboss 发布web_JBoss模块示例–模块化Web应用程序
  8. 寒冬之下,移动开发没人要了, iOS 开发者该 何去何从?
  9. (四)Qt实现自定义模型基于QAbstractTableModel
  10. Linux安装redis和部署
  11. WINDOWS之入侵痕迹清理总结
  12. ireport怎么套打_柳州男孩小指被螺母套牢,还有熊娃被卡进这地方!消防员笑抽,网友:日常打“卡”...
  13. 第十三届蓝桥杯A组Python组心得分享
  14. 云服务器显示502错误,云服务器出现502错误怎么办
  15. PHP:【商城后台管理系统】admin超级管理员后台登录界面部署
  16. 合天网安实验室 渗透测试项目一
  17. 很好用的数据库设计工具PDMan,强力推荐
  18. 量子计算机宋超,蒿杰团队实感计算架构助力20超导量子比特薛定谔猫态制备-资讯-知识分子...
  19. Matlab IQR准则剔除异常值
  20. 小仙女手账的神仙句子

热门文章

  1. Nacos(五)之Spring集成
  2. Sentinel(三)之如何使用
  3. JVM内存管理------垃圾搜集器参数精解
  4. java后台手动分页
  5. 264. 丑数 II---LeetCode---JAVA(动态规划)
  6. Ubuntu 免密登录
  7. Android隐藏状态栏和标题栏
  8. echart vue 图表大小_vue之将echart封装为组件
  9. springboot获取多个请求参数_springboot获取URL请求参数的多种方式
  10. mysql binlog 备份恢复数据_Mysql结合备份+binlog恢复误删除操作数据