WSO2 API Manager - 它可以将REST请求转换为后端的SOAP请求吗?

时间:2012-08-21 19:23:42

标签: api rest soap wso2 wso2-am

我正在探索将WSO2 API Manager用于我们的遗留API,该API目前基于SOAP。在IDeally,我想向客户公开RESTful接口,并让API Manager将其转换为传递给我们遗留系统的SOAP请求。搜索WSO2站点,我发现使用XSLT转换有一些方法可以做到这一点,但仅限于使用WSo2 ESB产品时。

有没有办法在API Manager中处理这种转换?怎么样?如果没有,我可以以某种方式利用ESB产品并将其与API Manager产品结合使用吗?或者这有点矫枉过正?

谢谢!

1 个答案:

答案 0 :(得分:3)

REST到SOAP转换是WSO2 ESB的一个突出特点。要了解更多信息,请查看[1]中给出的示例。此示例中使用的Payload Factory Mediator是一种比XSLT Mediator更新的中介类型,并且在处理SOAP消息方面比XSLT Mediator更有效。

WSO2 API Manager是一个用于发布,管理和管理API的平台。 WSO2 API Manager使用组件化Carbon框架构建,几乎所有WSO2 ESB组件都使用该框架。因此,技术上可以通过WSO2 ESB完成所有可以通过WSO2 API管理器完成的任务;但是没有WSO2 ESB中的GUI的帮助;您将不得不使用基于xml的配置的源视图。但是,如果要绕过这个障碍,您可以随时下载WSO2 ESB产品(也是免费和开源的),并使用GUI创建所有必要的中介序列,并将配置从WSO2 ESB复制粘贴到WSO2 API Manager已经完成。

在我看来,你需要的是WSO2 ESB。在您的情况下,我假设您只需要一个或几个SOAP API作为REST API公开;您正在更多地关注REST-SOAP转换功能,而不是管理数百个API的能力。如果您不需要API Manager的核心功能,例如发布API,版本控制,验证消费者,基于策略的限制以及监控API使用(有关功能的完整列表,请参阅[2]中的产品主页),然后你真的不想要API Manager。但是,如果您有API管理要求,则可以使用WSO2 API Manager。我认为您不应该仅仅因为您预见到某种API管理要求而应该使用WSO2 API Manager。

使用WSO2 API Manager前端的WSO2 ESB也是一种解决方案。如果您在中介层中执行大量调解,WSO2甚至会推荐此架构。您甚至可以单独从WSO2 ESB开始,稍后在适当的要求出现时,决定使用WSO2 API Manager。使用WSO2 API Manager前置WSO2 ESB非常简单。

[1] http://docs.wso2.org/wiki/display/ESB403/Sample+800+Introduction+to+REST+API

[2] http://wso2.com/products/api-manager/