wso2_WSO2 ESB的一种消息传递方式

wso2

wso2

正如我之前WSO2 ESB工作时所发布的那样。 为了更好地理解此ESB,我一直在浏览示例(尚未完成所有示例)。 示例12是关于与ESB的单向消息传递,并使用TCP监视器使其可见。 我之前已经介绍如何设置类似的工具“ TcpTunnelGUI”,但实际上我更喜欢TCP Monitor。 要使用该工具,请参见此处此处的手册。 顺便说一下,该工具随WSO2 ESB安装一起提供,因此您不必下载并安装它。 只需转到“ $ CARBON_HOME / bin”目录并输入命令: ./tcpmon.sh要查看使用Tcp Monitor的示例12,请执行以下操作:

    • 启动WSO2 ESB

本示例使用与示例1类似的ESB设置,因此通过在终端中导航到$ CARBON_HOME / bin目录并输入以下命令来启动ESB:./wso2esb-samples.sh -sn 1

    • 启动Apache Axis服务器

下一步是启动在其中部署SimpleStockQuote的Axis服务器。 为此,请打开一个新终端,然后导航至“ $ CARBON_HOME / samples / axis2Server”目录。 输入命令./axis2server.sh

    • 启动TcpMonitor

如果尚未完成,请启动Tcp Monitor。 通过打开新终端并浏览到'$ CARBON_HOME / bin'并输入命令./tcpmon.sh执行./tcpmon.sh这应该启动Tcp Monitor工具:

屏幕截图2013年3月14日在12月09日

    • 配置TcpMonitor

我们将侦听端口8281并将传入的流量转发到8280(这是我们的ESB运行它的代理服务的地方)。这是在“ Tcp监视器”中进行设置的方法:

屏幕截图2013-03-14 at 21.25.42
单击“添加”按钮后,您会看到TcpMonitor等待连接:
屏幕截图2013年3月14日在06月26日
因此,让我们通过它发送一条消息。

    • 运行Axis客户端

我对示例做了一些小的更改,如示例页面所示。 打开一个新终端,然后从目录'$ CARBON_HOME / samples / axis2Client'运行以下命令: ant stockquote -Daddurl=http://localhost:9000/services/SimpleStockQuoteService -Dprxurl=http://localhost:8281/ -Dmode=placeorder

    • 检查结果

在TCP Monitor中,我们看到在TCP Monitor中添加了一行,而在下部,我们看到了传​​入和传出请求:

屏幕截图2013年3月14日在21.55.41

这是Axis客户端发送的请求:

<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'>
   <soapenv:Header xmlns:wsa='http://www.w3.org/2005/08/addressing'>
      <wsa:To>http://localhost:9000/services/SimpleStockQuoteService</wsa:To>
      <wsa:ReplyTo>
         <wsa:Address>http://www.w3.org/2005/08/addressing/none</wsa:Address>
      </wsa:ReplyTo>
      <wsa:MessageID>urn:uuid:44ba7c6b-1836-4a62-8e40-814813a64022</wsa:MessageID>
      <wsa:Action>urn:placeOrder</wsa:Action>
   </soapenv:Header>
   <soapenv:Body>
      <m0:placeOrder xmlns:m0='http://services.samples'>
         <m0:order>
            <m0:price>154.76332953114107</m0:price>
            <m0:quantity>8769</m0:quantity>
            <m0:symbol>IBM</m0:symbol>
         </m0:order>
      </m0:placeOrder>
   </soapenv:Body>
</soapenv:Envelope>

在请求中要注意的重要事项是标头中的以下元素:

<wsa:ReplyTo>
         <wsa:Address>http://www.w3.org/2005/08/addressing/none</wsa:Address>
      </wsa:ReplyTo>

在标头中使用此元素,我们告诉我们服务我们不希望响应。 因此,作为响应,我们得到的只是202响应代码,正如我们在TCP Monitor中看到的那样:

HTTP/1.1 202 Accepted
Content-Type: text/xml; charset=UTF-8
Server: Synapse-HttpComponents-NIO
Date: Thu, 14 Mar 2013 20:30:19 GMT
Transfer-Encoding: chunked

0

这样就完成了本示例,只剩下几个示例了!

参考: The Pragmatic Integrator博客上的JCG合作伙伴Pascal Alma与WSO2 ESB进行消息传递的一种方式

翻译自: https://www.javacodegeeks.com/2013/03/one-way-messaging-with-wso2-esb.html

wso2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值