通过中继 SOAP 调用公开为 OData API?



在本地 SOAP API 上有遗留内容,需要将其公开给供应商以调用,但是,供应商首选 API 在 oData feed 中。我自己是 odata 的新手,不确定它将如何工作以及是否可能。我的想法是编写一个 API 层,将 odata 调用转换为 SOAP 调用?思潮?

这是一个与这里非常相似的问题:是否可以通过 odata 查询 SOAP 端点?

以下是我对这个问题给出的答案:

您可以围绕 SOAP 端点创建 OData 包装器,但我没有 认为这是值得的。

OData 服务将允许所有人进行过滤、排序和选择 的属性(除其他事项外)和 SOAP 服务可能不会 允许所有这些,因此您的 OData 服务可能必须去 获取所有数据,然后对其进行后处理,这将丢失主要数据 OData 的好处在于您可以执行所有筛选和排序 在服务器端。您不妨只获取数据客户端和 在那里过滤它。

如果您的 SOAP 服务以某种方式确实具有所有这些支持,那么是的, 您可以为其编写 OData 包装器并获得这些好处,但它 转换所有不同的可能仍然需要做很多工作 查询到 SOAP 服务可以处理的内容。

我不知道您想要 OData 包装器的原因,但似乎 像这样可能是很多工作,但收益微乎其微,但这一切都 取决于您的使用案例。

我认为这是一个非常相似的情况,为此编写 OData 包装器将是很多工作,并且不会带来很多好处。如果您使用的是实体框架/web.api,那么编写新的 OData 服务来公开它们所需的功能可能不需要做太多工作,并且周围有很多教程(像这样)应该可以帮助您入门,但除此之外,可能值得看看他们是否可以使用您现有的服务或类似的东西!

最新更新