2014-11-11 4 views
0

Я использую сервер CalDAV.CalDAV allprop не работает как ожидалось

Когда я посылаю после запроса:

curl --request PROPFIND --user admin:admin --header "depth:0" --header "Content-Type: text/xml" --data "<D:propfind xmlns:D='DAV:'><D:prop><D:allprop/></D:prop></D:propfind>" http://example/calendars/users/admin/calendar/ 

я получаю ответ следующим образом:

<?xml version='1.0' encoding='UTF-8'?> 
<multistatus xmlns='DAV:'> 
    <response> 
    <href>/calendars/users/admin/calendar/</href> 
    <propstat> 
     <prop> 
     <allprop/> 
     </prop> 
     <status>HTTP/1.1 404 Not Found</status> 
    </propstat> 
    </response> 

Если я правильно понимаю, CalDAV делает поддержку allprop как я посмотрел на учебники и примеры.

Если я меняю allprop на displayname или acl, он тогда работает.

Не поддерживается allprop или что такое новый эквивалент allprop?

Или мой запрос плохой?

ответ

3

Да, ваш запрос неверен.

Запрос, поскольку у вас есть запрос о недвижимости allprop.

То, что вы хотите сделать, это:

<D:propfind xmlns:D='DAV:'><D:allprop/></D:propfind> 

Обратитесь к RFC 2518 раздел 8.1.2 Example - Using allprop to Retrieve All Properties

+0

спасибо вам большое! – GJain

+2

Это еще проще: PROPFIND с пустым телом - это то же самое, что и запрос . Content-Length: 0. («Клиент может выбрать не отправлять орган запроса. Пустое тело запроса PROPFIND ДОЛЖНО рассматриваться так, как если бы это был запрос« allprop ».) – hnh