2013-05-09 3 views
1

Я использую WSO2 4.0.3 на Mac OSX 10.6 У меня есть функция сервера служб данных включена (3.2.2wso2esb. - совокупный медиатор не обнаруживается

работает в wso2esb 4.0.3 на совокупный медиатора

Ниже приведен код, в котором медиатор итерации работал отлично, но агрегированный медиатор, похоже, не распознается, поскольку журнал не печатается. Ответ от конечной точки печатается на уровне журнала = полный изпоследовательности , но поток не будет продолжаться в совокупности.

Может ли кто-либо из 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

Log 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

+0

Спасибо, что ответили! Я также не смог увидеть журнал onComplete. Выход конечной точки - ...., поэтому я дал коррелят по выражению на // TEST и позже объединить собранные сообщения при использовании неполного выражения. Теперь конечный результат должен быть как ... ..., который я не получил, чтобы увидеть, а также logs.Could пожалуйста, поправьте меня, если я ошибаюсь в соотнесении сообщений в финал вывод? – siri

+0

Я также попробовал следующий раздел, чтобы узнать, работает ли агрегат и журнал, но напрасно. Не могли бы вы указать на ошибку, если она есть? -> siri

Смежные вопросы