WSO2 ESB和MB消息存储释放消息体

WSO2 ESB和MB消息存储释放消息体,wso2,message,wso2esb,messagebroker,wso2mb,Wso2,Message,Wso2esb,Messagebroker,Wso2mb,我正试图正视WSO2 ESB 4.7.0和WSO2 MB 2.1.0之间的集成,遵循此URL中编写的说明: 我特别希望使用消息存储作为队列。因此,我遵循“使用消息存储和处理器进行集成”一段 我创建了消息存储和消息处理器,之前对ESB和MB进行了良好的配置,如图所示。 最后我写了这个代理: <proxy xmlns="http://ws.apache.org/ns/synapse" name="MessageStoreQueueProxy" transports="https,htt

我正试图正视WSO2 ESB 4.7.0和WSO2 MB 2.1.0之间的集成,遵循此URL中编写的说明:

我特别希望使用消息存储作为队列。因此,我遵循“使用消息存储和处理器进行集成”一段

我创建了消息存储和消息处理器,之前对ESB和MB进行了良好的配置,如图所示。 最后我写了这个代理:

<proxy xmlns="http://ws.apache.org/ns/synapse" name="MessageStoreQueueProxy"
   transports="https,http"
   statistics="disable"
   trace="disable"
   startOnLoad="true">
<target>
  <inSequence>
     <send>
        <endpoint>
           <address uri="http://localhost:8080/RestService/rest/servizio"/>
        </endpoint>
     </send>
  </inSequence>
  <outSequence>
    <send/>
    <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
    <property name="OUT_ONLY" value="true"/>
    <store messageStore="JMSMS"/>
    <log level="full"/>                    
  </outSequence>
</target>
<description/>
</proxy>
那么为什么尸体在交易过程中丢失了呢?我怎样才能保护尸体?或者如何从WSO2 MB中的ObjectMessage恢复它

非常感谢

“消息存储”不会保留消息,因为它位于JMS队列中。它将消息和其他信息序列化为java序列化对象并将其放入JMS队列中。当“消息处理器”处理消息时,它从JMS队列中提取消息并反序列化java序列化对象以进一步处理

这里MB用作JMS队列。所以消息存储序列化并放入MB队列。所以您可以看到序列化java对象。如果您使用MessageStore,您将无法看到以MB为单位的内容

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <soapenv:Body>
     <root>
        <code>ok</code>
        <documentID>2546</documentID>
     </root>
  </soapenv:Body>
</soapenv:Envelope>