在wso2 esb中调出并发送调解员

时间:2015-12-07 05:55:36

标签: wso2esb mediator callout

任何人都能用通用示例解释一下callout mediator的作用吗? 以及如何配置源和目标? 标注调解员与派遣调解员有何不同?

2 个答案:

答案 0 :(得分:2)

'source'使用XPath表达式指定请求消息的有效负载(我们可以选择要作为请求发送的所需xml节点)或注册表项(我们可以将请求消息存储在注册表中)。 “target”指定将在当前消息上下文中附加生成的有效负载(响应)的节点。

callout mediator和send mediator之间的区别在于callout mediator将通过阻塞调用将响应返回到相同的序列。因此,callout mediator保持线程直到事务完成。

在send中,响应返回到OutSequence,在那里你可以将它发送回客户端。所以线程将立即释放发送消息。

This is a good blog您可以在其中找到用法。

答案 1 :(得分:1)

您可以在WSO2 Documentation of the Callout Mediator中找到一个很好的解释。

  • 来源:定义请求的有效负载。有三个选项(XPath,Property,Envelope)来定义有效负载的来源。大多数情况下,我们使用Envelope发送完整的内容。
  • 目标:定义应存储响应的位置。有选项(XPath和Property),可以在当前消息中或属性内设置响应。

这是一个我们经常用来发送整个内容并将响应存储在属性中的简单示例:

<callout serviceURL="http://wsf.cdyne.com/WeatherWS/Weather.asmx" action="http://ws.cdyne.com/WeatherWS/GetWeatherInformation">  
     <source type="envelope"/>
     <target key="response"/>
</callout>

<!-- print the response property -->
<log level="custom">
    <property name="response" expression="get-property('response')"/>  
</log>

You can find another example here