2010-11-17 60 views
0

我连接了我的ipad,所以它现在正在和我在网上提供的OData.svc交谈。我可以在没有表格的情况下做一个noraml查询。但只要我添加一个选择到该查询来减少正在传输的列,我得到一个HTTP 400错误。我可以获取它正在访问的确切网址(http://mywebsite.com/OData.svc/Customers?$top=10 & $ select = CustomerName),并将其放入浏览器中,并且工作正常。任何想法可能是什么?IOS Odata SDK查询选择错误

我在Netflix示例中添加了一个选择到其中一个查询,它工作正常,它似乎是我的OData.svc,不允许从我的iPad应用程序执行选择(但浏览器很好)。

在此先感谢

回答

0

$ select要求使用版本2.0发送请求。所以它的DataServiceVersion头部必须设置为2.0 ;.如果设置为1.0,则请求将以400失败。您可以通过使用某种网络跟踪软件查看响应正文来验证这是根本原因,该响应应包含一条错误消息,指出您希望的功能使用需要更高的版本。 它可以从浏览器中运行,因为浏览器不会发送任何版本头文件,在这种情况下,服务器会假设服务器可以理解的更高版本(在这种情况下为2.0)。