如何逐个发送请求?

时间:2012-05-20 15:20:48

标签: wso2 wso2esb

我有这样的服务。客户端请求是多个记录。 例如,客户端请求是:

parameter1, parameter2, parameter3, parameter4, parameter5
parameter1, parameter2, parameter3, parameter4, parameter5
parameter1, parameter2, parameter3, parameter4, parameter5
parameter1, parameter2, parameter3, parameter4, parameter5

我需要逐个将此记录发送到实际服务中。如何在WSO2中做到这一点?

3 个答案:

答案 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)

如果您详细说明您的具体要求,答案会更容易。因此,我假设您的要求是以顺序方式将一些来自客户端的值发送到服务。为此,您可以简单地提取请求中的任何参数(作为使用属性介体的属性),然后使用每个参数依次调用服务。 (发送带有接收顺序的调解员)