2013-10-10 123 views
0

我有一個簡單的Mule流,其中我通過HTTP端點接收XML消息,然後對其進行一些處理。第一步是通過另一個出站HTTP端點將消息發送到Web服務。該服務只保存消息並且不對其進行處理。因此,我實際上希望忽略出站端點的返回值,並繼續處理最初收到的消息。我試着讓端點在路上,但是我現在的Mule信息變空了。忽略來自Mule HTTP出站端點的響應並繼續處理

如何調用端點,但忽略任何返回並繼續使用原始消息進行處理?

回答

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

請注意,竊聽和濃縮器是同步的,並會阻止異步不會進行的進一步處理。

0

在這種情況下,異步應該是一個更好的選擇。

Mule中的異步有助於繼續處理,忽略異步中調用的消息處理器的結果。

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

</flow> 

希望這會有所幫助。