错误消息: [2013-06-04 11:26:41,039] INFO - LogMediator To:http://www.w3.org/2005/08/addressing/anonymous,WSAction:,SOAPAction :, MessageID:urn:uuid:fce9fc4f-a071-4f62-8b5f-e982cf404619,Direction:response,Envelope :不是GZIP格式 [2013-06-04 11:26:41,055]错误 - 评估表达式的AggregateMediator错误:/ PACKAGE_OFFERS org.apache.synapse.SynapseException:找不到要聚合的匹配元素。 在org.apache.synapse.mediators.eip.EIPUtils.enrichEnvelope(EIPUtils.java:149) at org.apache.synapse.mediators.eip.aggregator.AggregateMediator.getAggregatedMessage(AggregateMediator.java:393) at org.apache.synapse.mediators.eip.aggregator.AggregateMediator.completeAggregate(AggregateMediator.java:340) at org.apache.synapse.mediators.eip.aggregator.AggregateMediator.mediate(AggregateMediator.java:285) 在org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:71) 在org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:114) 在org.apache.synapse.rest.Resource.process(Resource.java:297) 在org.apache.synapse.rest.API.process(API.java:265) 在org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:76) 在org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:50) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:182) 在org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:443) 在org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:166) 在org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) 在org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:217) 在org.apache.axis2.transport.base.threads.NativeWorkerPool $ 1.run(NativeWorkerPool.java:172) 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615) 在java.lang.Thread.run(Thread.java:722) [2013-06-04 11:27:21,022] WARN - SourceHandler读取请求后的连接超时:fe80:0:0:0:b1ac:716:923:abd3%33:61567-> fe80:0:0 0:b1ac:716:923:ABD3%33:8280
我有一个REST API调用两个DataServer服务DS-1和DS-2,在调用DS-1 [XML over REST-GET]之后,我对一些重复元素执行迭代并调用DS-2 [XML over REST-GET]。在这样做的时候,我得到了上面列出的错误。我正在尝试获取正确的元素。如果需要任何其他配置,请与我们联系。
有关源代码,请参阅此 LINK.
答案 0 :(得分:0)
您使用接收序列。因此,第一个端点的结果(响应)将在该序列中接收(即:迭代seq)。之后没有接收序列。消息流被破坏。您在初始序列中使用了聚合,这没有意义,因为第一个端点的响应将在iterate-seq处接收。
因此,聚合将针对您发送给API的初始请求发生。
答案 1 :(得分:0)
如下所述,您可以在关闭<send/>
之前尝试添加<inSequence>
调解员。
</case>
<default/>
</switch>
**<send/>**
</inSequence>
这将确保outSequence将收到您的请求。
答案 2 :(得分:-2)
如果您还没有决定使用任何esb ...请考虑使用UltraESB