ESB WSO2 使用丰富、迭代和过滤中介器将属性添加到 XML 文件中
我想将带有这样的 xml 文件的 Postman 请求发送到我的 api:
<data>
<user>
<name>Andrei</name>
<adress>Tudor Vladimirescu, nr2</adress>
<cnp>123456789</cnp>
<age>22</age>
</user>
<user>
<name>Ana</name>
<adress>Str. Pacurari, nr1</adress>
<cnp>123456789</cnp>
<age>26</age>
</user>
<user>
<name>Andreea</name>
<adress>Tudor Vladimirescu, nr1</adress>
<cnp>123456789</cnp>
<age>20</age>
</user>
</data>
我想向每个
基于年龄。例如:如果年龄超过 23 岁,则
标签;valid
标签的值应为 Yes
。我想将修改后的消息发送到另一个 API。 我知道我应该使用丰富、迭代和过滤中介器,但我确实需要一些帮助,因为我是初学者。谢谢你!
I want to sent a Postman request with a xml file like this to my api:
<data>
<user>
<name>Andrei</name>
<adress>Tudor Vladimirescu, nr2</adress>
<cnp>123456789</cnp>
<age>22</age>
</user>
<user>
<name>Ana</name>
<adress>Str. Pacurari, nr1</adress>
<cnp>123456789</cnp>
<age>26</age>
</user>
<user>
<name>Andreea</name>
<adress>Tudor Vladimirescu, nr1</adress>
<cnp>123456789</cnp>
<age>20</age>
</user>
</data>
And I want to add a <valid>Yes/No</valid>
tag to each <user>
based on the age. For example: if the age is above 23, the value of the valid
tag should be Yes
. I want to send the modified message to another API.
I know that I should use Enrich, Iterate and Filter mediators but I really need some help because I'm a beginner. Thank you!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我使用了
Iterate
中介器,因为您需要后端调用和filter
中介器用于设置每个元素的年龄是否有效,最后使用enrich
中介器实现您的用例。输入:
迭代日志:
如果您注意到上面的日志
No
或Yes
已添加到有效负载中。发布此内容后,您可以在迭代器内进行外部端点调用。
参考:
丰富中介
I have used
Iterate
mediator as you need backend call andfilter
mediator used to set age is valid or not for each element and finally usedenrich
mediator to achieve your usecase.Input:
Log for iteration:
If you noticed above log
<valid>No</valid>
or<valid>Yes</valid>
is added to payload.Post this, you can make external endpoint call inside iterator.
Ref:
Enrich Mediator