2017-05-17 27 views
0

我很新WSO2 ESB我有以下問題。我可以登錄文件WSO2消息處理器調用的Web服務響應嗎?

進入我的ESB流我有一個商店中介是把一個XML文檔伊諾一個WSO2 MB隊列,這是我的郵件存儲的配置:

<?xml version="1.0" encoding="UTF-8"?> 
<messageStore class="org.apache.synapse.message.store.impl.jms.JmsStore" name="glisMessageStore" xmlns="http://ws.apache.org/ns/synapse"> 
    <parameter name="store.jms.destination">glisQueue</parameter> 
    <parameter name="store.producer.guaranteed.delivery.enable">false</parameter> 
    <parameter name="store.jms.cache.connection">true</parameter> 
    <parameter name="java.naming.factory.initial">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter> 
    <parameter name="connectionfactory.QueueConnectionFactory">amqp://admin:[email protected]/carbon?brokerlist='tcp://localhost:5675'</parameter> 
    <parameter name="store.jms.JMSSpecVersion">1.1</parameter> 
</messageStore> 

正如你所看到的我的文檔被放入隊列中的glisQueue

然後我部署(這個項目)命名glisMessageProcessor是檢查隊列不爲空,如果它包含了一些XML文檔發送到外部Web服務執行HTTP調用消息處理器,這是我的消息處理器的配置:

<?xml version="1.0" encoding="UTF-8"?> 
<messageProcessor class="org.apache.synapse.message.processor.impl.forwarder.ScheduledMessageForwardingProcessor" messageStore="glisMessageStore" name="glisMessageProcessor" targetEndpoint="glisEndpoint" xmlns="http://ws.apache.org/ns/synapse"> 
    <parameter name="client.retry.interval">1000</parameter> 
    <parameter name="max.delivery.attempts">4</parameter> 
    <parameter name="member.count">1</parameter> 
    <parameter name="message.processor.reply.sequence">glisResponseSequence</parameter> 
    <parameter name="max.delivery.drop">Disabled</parameter> 
    <parameter name="interval">1000</parameter> 
    <parameter name="is.active">true</parameter> 
</messageProcessor> 

正如你可以看到它正在使用的glisMessageStore作爲數據源(因此它是使用glisQueue隊列defiend在它來獲取要發送的數據),併發送這些數據到glisEndpoint這是我的web服務的端點(它在我的項目中定義)。

它工作正常,數據正確發送到由glisEndpoint代表的外部Web服務。

我唯一的問題是:我的web服務在被調用時返回一條消息(包含我需要以某種方式存儲的一些信息)。

我可以用某種方式配置我的glissMessageProcessor來檢索這些響應消息並將其放入日誌文件中嗎?

回答

1

您只需在名爲「glisResponseSequence」的序列中使用log mediator:這是您使用「message.processor.reply.sequence」參數ant定義的內容,這是響應的來源。

相關問題