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

标签 api rest soap wso2 wso2-am

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

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

谢谢!

最佳答案

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 的配置的源 View 。但是,当然要绕过这个障碍,您始终可以下载 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/

关于api - WSO2 API Manager - 它可以在后端将 REST 请求转换为 SOAP 请求吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12061650/

相关文章:

php - 如何将 Laravel rest Api 日志保存到数据库中

java - 使用来自的其余 Web 服务从数据库下载文件

sharepoint - 使用休息查询 Sharepoint 中的选择字段

web-services - 如何使用 Delphi 构建独立的 SOAP Web 服务?

java - SOAP 头认证

r - 解析回 'messy' API 结构

c# - 使用 API 从 Azure blob 下载

javascript - REST 客户端实用程序

c# - WCF 服务故障处理 WS-Discovery Resolve 消息

java - 为什么 JDK 8 API 文档中存在实例方法选项卡?