我有这样的服务。客户端请求是多个记录。 例如,客户端请求是:
parameter1, parameter2, parameter3, parameter4, parameter5
parameter1, parameter2, parameter3, parameter4, parameter5
parameter1, parameter2, parameter3, parameter4, parameter5
parameter1, parameter2, parameter3, parameter4, parameter5
我需要逐个将此记录发送到实际服务中。如何在WSO2中做到这一点?
答案 0 :(得分:2)
在这种情况下,您可以将callout mediator与iterate mediator一起使用。 在迭代中,您可以迭代每组参数,并且在迭代目标中,您可以使用每组参数对服务进行调用(使用Callout mediator)。
您需要在iterate mediator中将顺序参数设置为true,以便一个接一个地调用它。和调出调解器调用是一个阻塞调用。所以它会阻止直到响应来临。见callout mediator
如果您能提供确切的邮件格式,我将能够提供更多详细信息。示例消息会很好。
答案 1 :(得分:1)
我假设您的数据格式为
<data>
<record>param1</record>
<record>param2</record>
<record>param3</record>
<record>param4</record>
</data>
如果是这种情况,您的要求是逐个迭代元素逐个发送此数据。您可以使用WSO2 ESB的iterate mediator并迭代参数并逐个发送。您必须在迭代介体中将参数“sequential”设置为true,以使其成为单线程。
请参阅http://wso2.org/project/esb/java/4.0.3/docs/samples/advanced_mediation_samples.html#Splitter
欢呼声, Charith
答案 2 :(得分:0)
如果您详细说明您的具体要求,答案会更容易。因此,我假设您的要求是以顺序方式将一些来自客户端的值发送到服务。为此,您可以简单地提取请求中的任何参数(作为使用属性介体的属性),然后使用每个参数依次调用服务。 (发送带有接收顺序的调解员)