Отображение описания ошибки в ответе WebDAV

Я создал серверное приложение, совместимое с WebDAV, которое подключено к веб-папкам Windows. Поскольку я выполнял некоторые ручные тесты, чтобы убедиться, что код делает то, что должен делать, мне было интересно, есть ли способ получить более подробное описание ошибки, с которой столкнулся сервер.

Пример: я пытался выполнить PUT для файла с именем «другое» в коллекции, которая содержала коллекцию с именем «другое». Метод не удался по понятным причинам, но ответ не содержал информации, которая могла бы помочь пользователю определить, что пошло не так.

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

PS: Я полагаю, что мог бы поместить описание в тело HTTP, что, я полагаю, было бы хорошо для таких клиентов, как cadaver, но этот подход не будет работать для веб-папок Windows.


person Constantin Levodeanschi    schedule 08.04.2013    source источник


Ответы (3)


все клиенты OS Webdav, и Windows в частности, не предоставляют пользователю хорошую обратную связь о причине ошибок.

Частое решение для бизнес-приложений, где известен адрес электронной почты текущего пользователя, заключается в том, что сервер просто отправляет пользователю полное сообщение об ошибке по электронной почте. Это особенно полезно в ситуациях, когда ошибки могут быть результатом нарушения бизнес-правил.

person Brad at Kademi    schedule 08.04.2013

Кажется, я нашел ответ. То, что я искал, на самом деле хорошо задокументировано в протоколе WebDAV.

person Constantin Levodeanschi    schedule 08.04.2013

Поскольку запрос webdav make collection представляет собой простой HTTP-запрос с методом «MKCOL», вы получите код ошибки в качестве ответа от сервера. В вашем случае вы получите код ошибки 403 (запрещено). Вы можете локально проверить содержимое своей папки, если есть повторяющаяся запись, которую вы даете пользователю пользовательское сообщение об ошибке.

person karthik    schedule 08.04.2013