2014-04-29 2 views
1

현재 입력 매개 변수로 문자열로 REST 서비스를 제공하는 플로우가 있습니다. 나는 다음과 같은 형식의 매개 변수를 확인하기 위해 정규식 - 필터를 사용하고 있습니다 :Mule ESB에서 regex-filter 필터를 사용하여 예외를 캡쳐하는 방법

<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> 

내가 고객에게 메시지 "잘못된 또는 누락 된 매개 변수를"보내야합니다. 이를 위해 저는 선택 - 예외 전략 및 캐치 예외 전략을 사용하고 Subflow를 호출하고 http : response-builder를 수행합니다.

정규식 필터가 일치하지 않을 때 어떻게 예외 (유형)를 throw 할 수 있습니까? 이 동작을 통합하거나 흐름을 변경해야합니까?

도움 주셔서 감사합니다.

답변

1

같은 메시지 필터에 랩 :

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