在命中 webserviceconsumer 之前逐个迭代 xml 数组请求
iterate xml array request one by one before hitting webserviceconsumer
完整的请求是:
<?xml version='1.0' encoding='windows-1252'?>
<balanceInquiry>
<request>
<amount>
<amount>1</amount>
<currency>USD</currency>
</amount>
</request>
<request>
<amount>
<amount>2</amount>
<currency>USD</currency>
</amount>
</request>
<request>
<amount>
<amount>3</amount>
<currency>USD</currency>
</amount>
</request>
</balanceInquiry>
在访问 webconsumer 之前,它应该是:
<balanceInquiry>
<request>
<amount>
<amount>1</amount>
<currency></currency>
</amount>
</request>
</balanceInquiry>
然后对 1 进行响应,然后再次对 2 进行响应。
我正在为每个组件使用
<foreach collection="#[payload.balanceInquiry]" doc:name="For Each">
<ws:consumer config-ref="Web_Service_Consumer" operation="balanceInquiry" doc:name="Web Service Consumer"/>
</foreach>
但是它不起作用。是否有任何其他组件可用于执行任务,或者我做错了。请提出建议。
使用 splitter 拆分您的 xml
然后 dom to xml transformer
然后再进行网络服务调用
<splitter expression="#[xpath3('//balanceInquiry/request',payload,'NODESET')]"/>
<mulexml:dom-to-xml-transformer doc:name="DOM to XML"/>
完整的请求是:
<?xml version='1.0' encoding='windows-1252'?>
<balanceInquiry>
<request>
<amount>
<amount>1</amount>
<currency>USD</currency>
</amount>
</request>
<request>
<amount>
<amount>2</amount>
<currency>USD</currency>
</amount>
</request>
<request>
<amount>
<amount>3</amount>
<currency>USD</currency>
</amount>
</request>
</balanceInquiry>
在访问 webconsumer 之前,它应该是:
<balanceInquiry>
<request>
<amount>
<amount>1</amount>
<currency></currency>
</amount>
</request>
</balanceInquiry>
然后对 1 进行响应,然后再次对 2 进行响应。
我正在为每个组件使用
<foreach collection="#[payload.balanceInquiry]" doc:name="For Each">
<ws:consumer config-ref="Web_Service_Consumer" operation="balanceInquiry" doc:name="Web Service Consumer"/>
</foreach>
但是它不起作用。是否有任何其他组件可用于执行任务,或者我做错了。请提出建议。
使用 splitter 拆分您的 xml
然后 dom to xml transformer
然后再进行网络服务调用
<splitter expression="#[xpath3('//balanceInquiry/request',payload,'NODESET')]"/>
<mulexml:dom-to-xml-transformer doc:name="DOM to XML"/>