如何在Mule ESB中使用正则表达式过滤器捕获异常

如何在Mule ESB中使用正则表达式过滤器捕获异常,mule,mule-studio,Mule,Mule Studio,目前我有一个流,它公开了一个REST服务,并将字符串作为输入参数。我使用regex-filter来确保格式参数如下所示: <http:inbound-endpoint doc:name="HTTP" connector-ref="ciuServiceHTTPConnector" ref="ciuServiceHTTPEndpoint" exchange-pattern="request-response" /> <logger level

目前我有一个流,它公开了一个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>

我需要向客户发送一条消息“无效或缺少参数”。为此,我使用choice异常策略和catch异常策略,然后调用子流并执行http:response-builder

当正则表达式筛选器不匹配时,如何引发异常(类型)?。是否可以合并此行为,或者我是否应该更改流


谢谢你的帮助

将其包装在消息过滤器中,如下所示:

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

有关更多详细信息,请参阅:

选中Throw On unecepted(抛出未接受)框,在出现消息时抛出异常 或事件未被处理。未选中时的默认值是不抛出 例外