我发出一个标注响应是这样的:
<ns:return>
<ax2446:contract>
<ax2446:array>variable1</ax2446:array>
<ax2446:array>value1</ax2446:array>
</ax2446:contract>
<ax2446:contract>
<ax2446:array>variable2</ax2446:array>
<ax2446:array>value2</ax2446:array>
</ax2446:contract>
<ax2446:contract>
<ax2446:array>variable3</ax2446:array>
<ax2446:array>value3</ax2446:array>
</ax2446:contract>
<ax2446:documents>
<ax2446:array>attachement1</ax2446:array>
<ax2446:array>D:\AUTO\filename-1.txt</ax2446:array>
</ax2446:documents>
<ax2446:documents>
<ax2446:array>attachment2</ax2446:array>
<ax2446:array>D:\AUTO\filename-2.txt</ax2446:array>
</ax2446:documents>
<ax2446:process>TEST_PROCESS</ax2446:modulo>
</ns:return>
我想创建一个带有契约值的新有效负载(数量可以更改)
<p:instantiateProcess xmlns:p="http://carbon.sample">
<xs:process xmlns:xs="http://carbon.sample">TEST_PROCESS</xs:process>
<ns:contract xmlns:ns="http://carbon.sample">
<xs:array xmlns:xs="http://carbon.sample">variable1</xs:array>
<xs:array xmlns:xs="http://carbon.sample">value1</xs:array>
</ns:contract>
<ns:contract xmlns:ns="http://carbon.sample">
<xs:array xmlns:xs="http://carbon.sample">variable2</xs:array>
<xs:array xmlns:xs="http://carbon.sample">value2</xs:array>
</ns:contract>
<ns:contract xmlns:ns="http://carbon.sample">
<xs:array xmlns:xs="http://carbon.sample">variable3</xs:array>
<xs:array xmlns:xs="http://carbon.sample">value3</xs:array>
</ns:contract>
</p:instantiateProcess>´
我通过以下方式获得所有合同:
<property
expression="//ns:return/ax2431:contract"
name="contract" scope="default" type="STRING"
xmlns:ax2431="http://vo.carbon.sample/xsd" xmlns:ns="http://carbon.sample"/>
我尝试使用payloadfactory,因为我不知道如何使用这个消息调用新的Web服务(如果使用此调解器是正确的)。或者如果我必须用迭代器制作有效载荷......
任何人都可以帮助我吗?感谢
答案 0 :(得分:0)
获得合同列表后,可以使用iterate mediator迭代列表,在迭代器内部添加 payloadFactory mediator 来创建有效负载,然后,同时你可以将修改后的有效负载发送到新的Web服务。
请查找以下链接,详细说明如何使用iterate mediator。
http://sparkletechthoughts.blogspot.com/2012/08/how-to-use-iterator-mediator-to-iterate.html
答案 1 :(得分:0)
您似乎有几个选择:
我怀疑所有3人都能得到你所追求的结果。这是一个你觉得最舒服的问题。就个人而言,我会沿着Script mediator路径,在两个XML有效负载之间进行映射,这是一个例子:http://nimbleapi.com/2016/05/javascript-mapping-between-xml-payloads/
答案 2 :(得分:0)
除了XSLT或Script冥想器之外,ForEach中介也是一种选择。