Web services 如何在不生成代理的情况下使用Odataservice

Web services 如何在不生成代理的情况下使用Odataservice,web-services,wcf,odata,Web Services,Wcf,Odata,我计划OData服务来构建entrprise数据总线,该总线将被业务服务使用。商务服务将为各种客户提供服务,如网站、智能手机等 首先,我希望在业务服务中使用Odata服务,而无需生成代理(无需添加为服务引用) 我发现一篇文章解释了如何在不使用服务引用的情况下使用WCF服务。在我们将有单独的服务合同和数据合同项目的场景中,这看起来很棒。我们可以为Odata服务提供类似的服务吗?我可能错了,但与WCF Soap服务不同,Odata不“需要”代理来使用。这是一个http协议,响应将以纯xml或json

我计划
OData
服务来构建entrprise数据总线,该总线将被业务服务使用。商务服务将为各种客户提供服务,如网站、智能手机等

首先,我希望在业务服务中使用Odata服务,而无需生成代理(无需添加为服务引用)


我发现一篇文章解释了如何在不使用服务引用的情况下使用
WCF
服务。在我们将有单独的服务合同和数据合同项目的场景中,这看起来很棒。我们可以为Odata服务提供类似的服务吗?

我可能错了,但与WCF Soap服务不同,Odata不“需要”代理来使用。这是一个http协议,响应将以纯xml或json的形式返回,而不需要WCF的消息契约基础设施。您将不得不处理Atom发布联合格式,但.Net提供了相应的库

从OData服务的服务引用生成代理可能只是方便客户机使用强类型模型,而不是一项要求

要验证这一点,只需通过简单的url请求点击OData服务,然后在浏览器(关闭自动RSS阅读器)或Fiddler中查看响应。如果您的业务层可以反序列化响应,那么您就可以不用代理了

若您是从javascript客户端访问它,那个么有一些js库也可以帮助进行反序列化,比如和

  • odatajs(用于Javascript的Olingo Oclient):
  • odata库(.net):
  • Olingo OData java客户端:
  • 更多@