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

Rob*_*eta 5 api rest soap wso2 wso2-api-manager

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

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

谢谢!

Joh*_*ann 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 Manager 完成;然而,没有 WSO2 ESB 中的 GUI 的帮助;您必须使用基于 xml 的配置的源视图。但是,当然,要绕过这个障碍,您始终可以下载 WSO2 ESB 产品(也是免费且开源的),并使用 GUI 创建所有必要的中介序列,并将配置从 WSO2 ESB 复制粘贴到 WSO2 API 管理器就完成了。

我认为您需要的是 WSO2 ESB。对于您的情况,我假设您只有一个或几个 SOAP API,您需要将其公开为 REST API;您更多地关注的是 REST-SOAP 转换功能,而不是管理数百个 API 的能力。如果您不需要 API Manager 的核心功能,例如发布 API、版本控制、验证消费者、基于策略的限制以及监控 API 使用情况(有关功能的完整列表,请参阅产品主页 [2]),那么您确实不需要 API 管理器。但如果您有 API 管理要求,您可以使用 WSO2 API Manager。我认为您不应该仅仅因为预见到即将出现的某种 API 管理需求而选择 WSO2 API 管理器。

同时使用 WSO2 API Manager 前面的 WSO2 ESB 也是一种解决方案。如果您在中介层中执行繁重的中介,WSO2 甚至建议使用此架构。您甚至可以单独使用 WSO2 ESB,稍后当出现适当的需求时,决定在其前面使用 WSO2 API 管理器。使用 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/