<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>
Upto Iterate mediator它工作正常。我根据输入XML得到两个分裂的消息。 1)
<Haer>
<Hello>mani</Hello>
</Haer>
2)
<Haer>
<Hello>kishore</Hello>
</Haer>
但我想要的是获取与最终响应相同的SameInput XML。消息将被发送到'Iterate Mediator'的目标,但之后我无法将这些拆分的XML消息作为输入传递给'AggregateMediator'。所以,请建议我一种方法,无论是通过添加额外的代理服务或序列来使这些分裂的msgs作为输入传递给outSequence的'Aggregate Mediator'并获得所需的响应。 如果目前代码中有任何错误,请告诉我
如果需要进一步说明,请发表评论。谢谢。
答案 0 :(得分:0)
在迭代的目标内,添加:
<header name="To" action="remove"/>
<property name="RESPONSE" value="true"/>
<property name="NO_ENTITY_BODY" scope="axis2" action="remove"/>
<sequence key="AggSequence"/>
将outSequence的内容移动到名为“AggSequence”
的序列中