我们有四个端点服务。其中三个是使用axis2框架开发的SOAP Web服务。一种是使用CXF框架开发的REST服务。我想从REST Web服务获取一个值,我想将此值传递给代理服务中的axis2 SOAP服务。我怎样才能做到这一点。
谢谢
答案 0 :(得分:0)
您可以通过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服务,您还可以在send mediator(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