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

时间:2017-06-15 15:06:03

标签: asp.net-web-api odata

拥有传统的SOAP API,需要将其公开给供应商,以便调用oData Feed中的供应商首选API。我自己的新手,不知道它会如何工作,如果它可能的话。我的想法是编写一个API层,将odata调用转换为SOAP调用?想法?

1 个答案:

答案 0 :(得分:0)

这是一个非常类似的问题:Is it possible to query a soap endpoint via odata?

以下是我对该问题的回答:

  

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

     

OData服务将允许所有人进行过滤,排序和选择   属性(以及其他内容)和SOAP服务可能不是   允许所有这些,以便你的OData服务可能必须去   获取所有数据,然后发布失去主要数据的进程   OData的好处在于您可以进行所有过滤和排序   在服务器端。您也可以只获取数据客户端和   过滤它。

     

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

     

我不知道你想要一个OData包装器的理由,但似乎   像这样可能需要做很多工作才能获得最低限度的利益   取决于你的用例。

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