401 Несанкционированный с обновлением и удалением OData - PullRequest
0 голосов
/ 15 июля 2011

Впервые я наткнулся на проблему, когда решение для SO еще не было предоставлено (полностью), но я надеюсь, что кто-то там может помочь.

Моя проблема похожа на PUT и DELETE в RESTful WCF Service, причина 401 Несанкционированная ошибка .

То есть у меня есть Служба данных WCF, где я получаю 401 каждый раз, когда пытаюсь обновить или удалить (чтение и публикация работают без проблем). Отличие от вышеупомянутого поста заключается в том, что я размещаю свой сервис не в IIS, а в Windows Azure, поэтому я не могу применить это решение.

У меня одна и та же проблема (401: invalid credentials when attempting updates or deletes) как на клиенте .NET, так и на клиенте рестлета, использующем расширение OData. Однако на клиенте .NET я могу решить эту проблему, установив UsePostTunneling = true.

В моем сервисе я установил config.SetEntitySetAccessRule("*", EntitySetRights.All).

Кто-нибудь знает, как я могу решить проблему для моего клиента рестлета?

1 Ответ

0 голосов
/ 15 июля 2011

Первое, что я хотел бы проверить, это посмотреть, включены ли в ваших обработчиках глаголы PUT и DELETE.Вы запускаете это из веб-роли в полном IIS или используете Hosted Web Core (HWC) или что-то еще?Обычно, больше чем 401, я вижу ошибку 405, потому что WebDAV находится на машине, и глаголы PUT и DELETE конфликтуют там.В конечном итоге вам придется отключить WebDAV для приложения.

Я бы также проверил ваш метод аутентификации в вашем файле web.config.Я видел проблемы типа «нет», поэтому измените их на «Формы».

...