我有一个关于在消息处理器序列中应用迭代中介的问题。让我来告诉你更多细节。 首先,我有一条消息存储在消息存储中:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<jsonObject>
<status>success</status>
<totalCount>2</totalCount>
<next></next>
<profiles>
<href>1391671019717</href>
...
</profiles>
<profiles>
......
</profiles>
</jsonObject>
</soapenv:Body>
</soapenv:Envelope>
然后,我创建了一个消息处理器以使用上面的消息存储
<sequence xmlns="http://ws.apache.org/ns/synapse" name="ProfileProcessingSEQ">
<iterate id="each_profile" preservePayload="true" attachPath="//jsonObject" expression="//jsonObject/profiles">
<target>
<sequence>
<log>
<property name="message" expression="//jsonObject/profiles/profiles"/>
</log>
<send/>
</sequence>
</target>
</iterate>
</sequence>
在调用消息处理器之后,我看到了错误日志,如下所示:
java.util.Stack.peek中的java.util.EmptyStackException(Stack.java:102) 在 org.apache.synapse.continuation.ContinuationStackManager.addReliantContinuationState(ContinuationStackManager.java:103) 在 org.apache.synapse.mediators.eip.splitter.IterateMediator.mediate(IterateMediator.java:144 在 org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77) 在 org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47) 在 org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:131)
有没有人有同样的问题?请给我一些意见
谢谢,
莱昂
答案 0 :(得分:0)
要解决该问题,我必须在存储到消息存储库之前更改处理,拆分和准备消息的方式,并且它可以成功运行。 有人有另一个想法吗?
此致 利昂