WSO2 ESB 可靠消息传递

WSO2 ESB reliable messaging

我试过这个示例“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 标签下,包括所有与突触工件相关的配置,例如代理服务、序列等。

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

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