0

我已经连接了我的 ipad,所以它现在正在与我在网络上提供的 OData.svc 交谈。我可以在没有的情况下对表进行常规查询。但是,一旦我向该查询添加一个选择以减少正在传输的列,我就会收到一个 http 400 错误。我可以获得它正在访问的确切 url (http://mywebsite.com/OData.svc/Customers?$top=10&$select=CustomerName) 并将其放入浏览器中,它可以正常工作。任何想法这可能是什么?

我在 Netflix 示例中的一个查询中添加了一个选择,它运行良好,这似乎是我的 OData.svc 不允许从我的 ipad 应用程序执行选择的东西(但浏览器很好)。

提前致谢

4

1 回答 1

0

$select 要求使用 2.0 版发送请求。所以它的 DataServiceVersion 标头必须设置为 2.0;。如果设置为 1.0,请求将失败并返回 400。您可以通过使用某种网络跟踪软件查看响应正文来验证这是根本原因,其中应包含一条错误消息,说明您想要的功能使用需要更高版本。它适用于浏览器,因为浏览器不发送任何版本标头,在这种情况下,服务器假定服务器可以理解的更高版本(在这些情况下为 2.0)。

于 2010-11-17T13:49:36.387 回答