WSO2 ESB可靠消息传递

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WSO2 ESB可靠消息传递相关的知识,希望对你有一定的参考价值。

我试过这个样本“https://docs.wso2.com/display/ESB470/Sample+102%3A+Reliable+Message+Exchange+with+Back-End+Server+Using+WS-ReliableMessaging+1.1”,不幸的是我无法理解这个示例中解释的配置。配置是:

<definitions xmlns="http://ws.apache.org/ns/synapse">
<in>
    <RMSequence single="true" version="1.1"/>
    <send>
        <endpoint name="reliable">
        <address uri="http://localhost:9000/services/ReliableStockQuoteService">
        <enableRM/>
        <enableAddressing/>
            </address>
        </endpoint>
    </send>
</in>
<out>
    <header name="wsrm:SequenceAcknowledgement" action="remove"
            xmlns:wsrm="http://docs.oasis-open.org/ws-rx/wsrm/200702"/>
    <header name="wsrm:Sequence" action="remove"
            xmlns:wsrm="http://docs.oasis-open.org/ws-rx/wsrm/200702"/>
    <header name="wsrm:AckRequested" action="remove"
            xmlns:wsrm="http://docs.oasis-open.org/ws-rx/wsrm/200702"/>
    <send/>
</out>

没有地方可以解释使用此配置的位置。什么是definitions标签?什么是inout标签?

我已尝试此代理服务来调用启用可靠消息传递的后端。

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="reliableClient"
       transports="https,http"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <RMSequence single="true" version="1.0"/>
         <send>
            <endpoint>
               <wsdl service="reliableBackEnd"
                     port="reliableBackEndHttpSoap11Endpoint"
                     uri="http://localhost:9763/services/reliableBackEnd?wsdl">
                  <enableAddressing/>
                  <enableRM/>
               </wsdl>
            </endpoint>
         </send>
      </inSequence>
      <outSequence>
         <header xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
                 name="wsrm:SequenceAcknowledgement"
                 action="remove"/>
         <header xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
                 name="wsrm:Sequence"
                 action="remove"/>
         <header xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
                 name="wsrm:AckRequested"
                 action="remove"/>
         <send/>
      </outSequence>
   </target>
   <description/>
</proxy>

但它正在抽出时间。支持在同一ESB 4.8.1中托管,并启用了默认的RM-Policy。

答案

@Reza,

definitions标记是ESB突触配置的根标记。在definitions标签下,包括所有与synapse工件相关的配置,例如代理服务,序列等。

另外,对于您所引用的示例,您指的是旧版本的4.7.0,并确保已启用nhttp传输。我建议您使用较新版本,而不是使用旧版本。请参考[1],这是一篇由Buddhima撰写的好文章。

[a] https://buddhimawijeweera.wordpress.com/2015/09/05/reliable-messaging-with-wso2-esb/

以上是关于WSO2 ESB可靠消息传递的主要内容,如果未能解决你的问题,请参考以下文章

WSO2 ESB 5.0.0 配置 JMS 传输(ActiveMQ)- 主题消息发布与订阅

WSO2 ESB 5.0.0 配置 JMS 传输(ActiveMQ)- 主题消息发布与订阅

WSO2:将CSV消息转换为json wso2 esb。在prolog中出现意外字符'“'(代码34)失败;预期'

WSO2:wso2中的xml到json数据映射esb:json消息包含在soap信封中

WSO2 ESB 5.0.0 配置消息存储

WSO2 ESB 5.0.0 配置 JMS 传输(ActiveMQ)- 队列消息生产与消费