WSO2 ESB 如何在代理服务中调用不同类型的终结点



我们有四个端点服务。其中三个是使用 axis2 框架开发的 SOAP Web 服务。一种是使用 CXF 框架开发的 REST 服务。我想从 REST Web 服务获取一个值,我想将此值传递给代理服务中的 axis2 SOAP 服务。我该怎么做。

谢谢

您可以通过 wso2 ESB 中的服务链来实现此要求(有关服务链的更多信息,请参阅文档 [1]、[2])。您可以先调用 REST 服务并在发送中介器中指定"接收"序列,如下所示(请参阅 [3])。

<inSequence>
   .............
   <send receive="soapserviceSeq">
        <endpoint key="restEpr"/>
   </send>
</inSequence>
<sequence name="soapserviceSeq">
   ........................
   <send receive="restserviceSeq">
        <endpoint key="soapEpr"/>
   </send>
</sequence>
<sequence name="restserviceSeq">
    <log level="full"/>
    <send/>
</sequence>

然后,REST 服务的响应将返回到"接收"序列(soapserviceSeq)。在"soapserviceSeq"序列中,您可以调用 soap 服务,也可以在发送调解器 (restserviceSeq) 中配置接收顺序。然后 soap 服务的响应将返回到接收序列 (restserviceSeq)。

[1]- http://wso2.com/library/articles/2011/01/wso2-esb-by-example-service-chaining/[2]- http://blog.afkham.org/2012/05/wso2-esb-service-chaining.html[3]- https://docs.wso2.com/display/ESB490/Send+Mediator

最新更新