簡體   English   中英

如何在一個代理服務中使用迭代介體和聚合介體

[英]how to use iterate mediator and aggregate mediator in one proxy service

輸入XML

<Haer>
  <Hello>mani</Hello>
  <Hello>kishore</Hello>
</Haer>

代理服務

<inSequence>
   <iterate expression="//Haer/Hello" attachPath="//Haer" preservePayload="true" sequential="true" continueParent="false">
       <target>
       .
       . 
       .
       .
       </target>
   </iterate>
</inSequence>
<outSequence>
   <property name="ROOT">
       <Haer></Haer>
   </property>
   <aggregate id="mm">
    <completeCondition timeout="">
    <messageCount min="-1" max="-1"/>
    </completeCondition>
    <onComplete expression="//Haer/Hello" enclosingElementProperty="ROOT">
    <send/>
    </onComplete>
   </aggregate>
</outSequence>

我的要求:

到Iterate中介器為止,它工作正常。 根據輸入XML,我得到了兩個拆分的味精。 1)

  <Haer>
     <Hello>mani</Hello>
  </Haer>

2)

  <Haer>
    <Hello>kishore</Hello>
  </Haer>

但是我想要得到的是SameInput XML作為最終響應 消息被發送到“ Iterate Mediator”的目標,但是之后,我無法將這些分割的XML消息作為Input傳遞給“ AggregateMediator” 因此,無論如何,請通過某種方式建議我,方法是添加額外的代理服務或序列,以使這些拆分的消息作為輸入傳遞到outSequence的“聚合介體”,並獲得所需的響應。 還請告訴我當前代碼中是否有任何錯誤

如果需要進一步說明,請發表評論。 謝謝。

在迭代的目標內,添加:

<header name="To" action="remove"/>
<property name="RESPONSE" value="true"/>
<property name="NO_ENTITY_BODY" scope="axis2" action="remove"/>
<sequence key="AggSequence"/>

將outSequence的內容移到名為“ AggSequence”的序列中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM