是否可以通过odata查询soap端点?

我有一个SOAP端点:

/XRMServices/2011/Organization.svc 

我想围绕这个服务创建一个odata包装器,这样当导航到http://myodataservice/api/Entities$?filter=AccountNumber eq '123123'

它将从SOAP(wsdl)服务中检索数据,但它允许客户端发出odata查询。

是否可以使用ODATA查询SOAP服务?

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

OData服务允许通过所有属性(以及其他内容)进行过滤,排序和选择,并且SOAP服务可能不允许所有这些,因此您的OData服务可能必须去获取所有数据,然后对其进行后期处理它失去了OData的主要优点,因为你可以在服务器端进行所有的过滤和排序。 您也可以只获取数据客户端并在那里进行过滤。

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

我不知道你想要一个OData包装器的原因,但似乎这可能是很多工作以获得最小的好处,但这一切都取决于你的用例。