2014-04-29 27 views
1

目前我有一個流將公開REST服務的字符串作爲輸入參數。我使用的是正則表達式的篩選器,以保證格式的參數如下:如何使用Mule中的正則表達式過濾器捕獲異常ESB

<http:inbound-endpoint doc:name="HTTP" 
     connector-ref="ciuServiceHTTPConnector" ref="ciuServiceHTTPEndpoint" 
     exchange-pattern="request-response" /> 
    <logger level="INFO" doc:name="Logger" message="epale1 #[payload]"/> 
    <regex-filter pattern="^/api/person/(V|E)[0-9]{8}$" 
     doc:name="Regex" /> 
    <logger message="epale2 #[payload]" level="INFO" doc:name="Logger"/> 
    <jersey:resources doc:name="REST" > 
     <component class="...resource.CiudadanoResource"/> 
    </jersey:resources> 

我需要客戶發送消息「無效或缺少參數」。爲此,我使用選擇 - 異常策略和catch-exception-strategy,然後調用Subflow並執行http:response-builder。

當正則表達式過濾器不匹配時,如何拋出異常(類型)?這種行爲是可能的,還是應該改變我的流程?

感謝您的幫助;

回答

1

裹在消息過濾器,這樣的:

<message-filter throwOnUnaccepted="true"> 
     <regex-filter pattern="^/api/person/(V|E)[0-9]{8}$" 
    doc:name="Regex" /> 
    </message-filter>