如何在mule中验证逗号分隔的emailIds

时间:2017-09-26 06:58:39

标签: mule mule-studio mule-component mule-el mule-esb

我的字符串包含常见的分隔邮件ID,如下所示

abc@mail.com,xyz@gmail.com

我厌倦了通过验证器组件进行验证。它只验证一封电子邮件。

你能帮我吗?如何在骡子中处理这个问题

2 个答案:

答案 0 :(得分:0)

将Mule验证放在for-each组件中并循环浏览电子邮件。请参阅以下示例代码。

<http:listener-config name="HTTP_Listener_Configuration" host="localhost" port="8085" doc:name="HTTP Listener Configuration"/>
<flow name="mule_validatorFlow">
    <http:listener config-ref="HTTP_Listener_Configuration" path="/" doc:name="HTTP"/>
    <logger message="--- The service has been triggered ---" level="INFO" doc:name="Logger"/>
    <set-payload value="rk@gmail.com,rk1@gmail.com,rk2@gmail.com" doc:name="Set Payload"/>
    <foreach collection="#[org.mule.util.StringUtils.split(payload, ',')]" doc:name="For Each">
        <validation:is-email email="#[payload]" doc:name="Validation"/>
    </foreach>
</flow>

答案 1 :(得分:0)

您可以使用Groovy或Java Transformer并执行:

return payload.split(",")

您的有效负载将是一个字符串数组,每个字符串都是一封电子邮件。

编辑:也就是说,假设您的有效负载是包含您的电子邮件的字符串。如果不是简单地使用变量或获取正确的字符串并使用split()函数。