我有动态有效负载进入ESB代理,需要在解析每个单独的元素(也可以嵌套)后发送到BAM服务器。此动态有效负载包含重复的复杂类型元素如何作为ESB序列的一部分遍历它并动态地为每个重复的元素提供唯一的名称并将其发送到BAM服务器?例如Employee XML元素是动态的,可以重复多次。
<Request>
<appName></appName>
<Employee>
<name></name>
<age></age>
</Employee>
<Employee>
<name></name>
<age></age>
<Qualifications>
<degree></degree>
<year></year>
<college></college>
</Qualifications>
</Employee>
<Employee>
<name></name>
<age></age>
</Employee>
</Request>
答案 0 :(得分:0)
据我了解,您需要遍历元素并逐个发送给BAM。 您可以使用Iterator介体逐个获取元素。[1] 然后,您需要使用payloadFactory介体添加唯一ID。为此,您可以在里面添加一个新元素。您可以通过在同一个Doc网站[1]上搜索来找到此样本。 您也可以参考此博客[2]来更多地了解payloadFactory。
[1] http://docs.wso2.org/wiki/display/ESB460/Iterate+Mediator
[2] http://madhukaudantha.blogspot.com/2013/05/wso2-esb-payload-mediator-tutorial.html