我有一个SOAP端点:
<organization URL>/XRMServices/2011/Organization.svc
我想围绕此服务创建一个odata包装器,以便在导航到http://myodataservice/api/Entities$?filter=AccountNumber eq '123123'
它将从SOAP(wsdl)服务中检索数据,但它允许客户端发出odata查询。
是否可以使用ODATA查询SOAP服务?
答案 0 :(得分:4)
您可以围绕SOAP端点创建一个OData包装器,但我认为这不值得。
OData服务允许通过所有属性(以及其他内容)进行过滤,排序和选择,并且SOAP服务可能不允许所有这些,因此您的OData服务可能必须去获取所有数据,然后post process它失去了OData的主要优点,因为你可以在服务器端进行所有的过滤和排序。您也可以只获取数据客户端并在那里进行过滤。
如果您的SOAP服务确实拥有所有这些支持,那么您可以为它编写一个OData包装器并获得这些好处,但将所有不同的可能查询转换为您的某些内容仍然需要做很多工作。 SOAP服务可以处理。
我不知道你想要一个OData包装器的原因,但似乎这可能是为了最小的好处而做的很多工作,但这一切都取决于你的用例。