Ошибка выбора запроса Id Odata SDK - PullRequest
0 голосов
/ 17 ноября 2010

Я подключил свой ipad, так что теперь он говорит с моим OData.svc, обслуживаемым в Интернете. Я могу сделать запрос noraml таблицы без. Но как только я добавляю select к этому запросу, чтобы сократить передаваемые столбцы, я получаю ошибку http 400. Я могу получить точный URL (http://mywebsite.com/OData.svc/Customers?$top=10&$select=CustomerName), к которому он обращается, и поместить его в браузер, и он работает без проблем. Есть идеи, что это может быть?

Я добавил выбор к одному из запросов в примере Netflix, и он работал нормально, похоже, что-то с моим OData.svc не позволяет выполнять выборки из моего приложения ipad (но браузер в порядке). 1004 *

Заранее спасибо

1 Ответ

0 голосов
/ 17 ноября 2010

$ select требует, чтобы запрос был отправлен с версией 2.0. Поэтому его заголовок DataServiceVersion должен быть установлен на 2.0 ;. Если он установлен на 1,0, запрос не будет выполнен с 400. Вы можете проверить, что это является основной причиной, используя какое-то программное обеспечение для трассировки сети, чтобы увидеть тело ответа, который должен содержать сообщение об ошибке, говорящее, что функция, которую вы хотите использование требует более высокой версии. Он работает из браузера, потому что браузер не отправляет заголовок версии, и в этом случае сервер принимает более высокую версию, которую сервер может понять (в данном случае 2.0).

...