目前我有一个使用字符串作为输入参数公开REST服务的流程。我正在使用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>
我需要向客户发送消息&#34;参数无效或缺失&#34; 。为此,我使用了choice-exception-strategy和catch-exception-strategy,然后调用Subflow并执行http:response-builder。
当正则表达式过滤器不匹配时,如何抛出异常(类型)?可以合并这种行为还是应该改变我的流程?
感谢您的帮助;
答案 0 :(得分:2)
将其包装在消息过滤器中,如下所示:
<message-filter throwOnUnaccepted="true">
<regex-filter pattern="^/api/person/(V|E)[0-9]{8}$"
doc:name="Regex" />
</message-filter>
有关详细信息,请参阅official documentation:
选中Throw On Unaccepted框以在邮件中抛出异常 或事件未得到处理。未选中时的默认值是不抛出 例外。