5

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

有没有办法在 API Manager 中处理这种转换?如何?如果没有,我能否以某种方式利用 ESB 产品并将其与 API Manager 产品结合起来?还是那是矫枉过正?

谢谢!

4

1 回答 1

3

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

WSO2 API Manager 是一个用于发布、管理和管理 API 的平台。WSO2 API 管理器是使用组件化的 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 Manager。但是,如果您有 API 管理要求,则可以使用 WSO2 API Manager。我认为您不应该仅仅因为您预见到某种 API 管理要求即将到来而使用 WSO2 API 管理器。

同时使用由 WSO2 API Manager 提供的 WSO2 ESB 也是一种解决方案。如果您在中介层执行繁重的中介,WSO2 甚至推荐这种架构。您甚至可以单独从 WSO2 ESB 开始,然后当适当的需求出现时,决定使用 WSO2 API 管理器将其放在前面。使用 WSO2 API 管理器在 WSO2 ESB 前端是轻而易举的事。

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

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

于 2012-09-02T15:40:16.410 回答