忽略来自Mule HTTP出站端点的响应并继续处理

时间:2013-10-10 11:48:47

标签: http mule

我有一个简单的Mule流程,我通过HTTP端点接收XML消息,然后对其进行一些处理。其中一个步骤是通过另一个出站HTTP端点将消息发送到Web服务。该服务只保存消息并且不对其进行处理。因此,我实际上希望忽略出站端点的返回值,并继续处理最初收到的消息。我尝试在途中制作端点,但是当前的Mule消息变为空。

如何调用端点,但忽略任何返回并继续使用原始消息进行处理?

2 个答案:

答案 0 :(得分:0)

您可以使用<wiretap>http://www.mulesoft.org/documentation/display/current/Routing+Message+Processors#RoutingMessageProcessors-WireTap

或使用<async>范围:http://www.mulesoft.org/documentation/display/current/Async+Scope+Reference

如果您希望将响应存储在变量中但保留当前有效负载,请使用<enricher>http://www.mulesoft.org/documentation/display/current/Message+Enricher

请注意,窃听和增强器是同步的,并且会阻止进一步处理async不会的情况。

答案 1 :(得分:0)

在这种情况下,Async应该是更好的选择。

Mule中的异步有助于继续处理,忽略异步内部调用的消息处理器的结果。

ex:
<flow name="sample" >
  <http:inbound-endpoint ...... />
   ....  Some processing.....
   <async>
      <http:outbound-endpoint  ....... />
   </async>
   ......  Continue with the processing with the original message....

 </flow>

希望这有帮助。