2013-05-09 108 views
1

我使用WSO2 4.0.3在Mac OSX 10.6我有數據服務的服務器功能啓用(3.2.2wso2esb - 沒有檢測總調解人

對總調解人wso2esb 4.0.3工作

下面是代碼,其中iterate mediator完美工作,但聚合中介似乎沒有得到識別,因爲它的日誌沒有得到打印。端點的響應打印在日誌級別=完整的outsequence ,但流量並沒有繼續累積。

任何人都可以從wso2team請確認是否aggr egate在wso2 esb 4.0.3中的行爲如預期的那樣?

<?xml version="1.0" encoding="UTF-8"?> 
<proxy xmlns="http://ws.apache.org/ns/synapse" name="test" transports="http https" startOnLoad="true" trace="disable" statistics="enable"> 
<target> 
    <inSequence > 
     <log level="full" separator=","> 
      <property name="InSequence-EntryMessage" value="test - Entering InSequence."/> 
     </log> 
     <iterate preservePayload="true" attachPath="//REQ" expression="//REQ/MODULE"> 
      <target> 
       <sequence> 
        <payloadFactory> 
         <format> 
          <MODULE> 
           <party_id>$1</party_id> 
          </MODULE> 
         </format> 
         <args> 
          <arg expression="//REQ/MODULE/party_id"/> 
         </args> 
        </payloadFactory> 
        <log level="full" separator=","> 
         <property name="InSequence-iterate" value="formed after iterate"/> 
        </log> 
        <send> 
         <endpoint key="conf:/test/ds_endpoint.xml"/> 
        </send> 
       </sequence> 
      </target> 
     </iterate> 
     <log level="custom" separator=","> 
      <property name="InSequence-ExitMessage" value="test - Exiting InSequence."/> 
     </log> 
    </inSequence> 
    <outSequence > 
     <log level="full" separator=","> 
      <property name="ValidResponse" value="test Sending the Response Back."/> 
     </log> 
     <aggregate> 
      <log level="full" separator=","> 
       <property name="ValidResponse" value="TEST ---------------- Sending the Response Back."/> 
      </log> 
      <correlateOn expression="//TEST"/> 
      <completeCondition> 
       <messageCount min="-1" max="-1"/> 
      </completeCondition> 
      <onComplete expression="//TESTALL"> 
      <log level="full" separator=","> 
       <property name="ValidResponse" value="TEST 1 ---------------- Sending the Response Back."/> 
      </log> 
      <send/> 
      </onComplete> 
     </aggregate> 
     <log level="full" separator=","> 
      <property name="OutSequence-ExitMessage" value="test - Exiting OutSequence."/> 
     </log> 
    </outSequence> 
</target> 
</proxy> 

欣賞對此的迴應!

回答

2

日誌介體僅適用於Aggregate mediator中的「onComplete」標籤內。所以下面的日誌將無法識別,這是一個預期的行爲,

 
<log level="full" separator=","> 
    <property name="ValidResponse" value="TEST ---------------- Sending the Response Back."/> 
    </log> 

但以下日誌您已「的onComplete」標籤中添加的應該工作,

 
<log level="full" separator=","> 
<property name="ValidResponse" value="TEST 1 ---------------- Sending the Response Back."/> 
</log> 
+0

感謝您迴應! – siri 2013-05-13 04:58:24

+0

感謝您的回覆!我也沒有看到日誌onComplete。端點的輸出是 ....,因此我在// TEST上給出了關聯表達式,並稍後在使用oncomplete表達式合併收集的消息。現在最終的輸出應該像 ... ...,我沒有看到,以及日誌。請你糾正我,如果我錯誤的消息關聯到最後輸出? – siri 2013-05-13 05:05:54

+0

我也嘗試了下面的部分,看看聚合和日誌工作,但徒勞無功。你能否指出這個錯誤? <! - - > <的onComplete表達=「// TEST」> siri 2013-05-13 10:21:56