IT Hit WebDAV 服务器不支持 CARDDAV:addressbook-查询

IT Hit WebDAV Server not supporting CARDDAV:addressbook-query

至少与 davdroid 客户端的联系人同步效果不佳。

这是我在 IT Hit WebDAV 服务器日志中找到的:

[11] ----------------- Started: 24.11.2015 15:00:12 -----------------
[11] [REPORT] /addressbooks/webdavuser/Business/
Connection: Keep-Alive
Content-Length: 184
Content-Type: application/xml; charset=utf-8
Accept-Encoding: gzip
Authorization: Basic ************************
Host: devel.jablotool.com:50001
User-Agent: DAVdroid/0.9.1.1 (2015/11/24; dav4android) Android/4.2.2
Depth: 1

[11] <?xml version='1.0' encoding='UTF-8' ?><CARD:addressbook-query xmlns="DAV:" xmlns:CARD="urn:ietf:params:xml:ns:carddav"><prop><getetag /></prop><CARD:filter /></CARD:addressbook-query>
[11] HTTP/1.1 405 Method Not Allowed
X-Env-Version : 4.0.30319.34209 64bit
X-OS-Version : Microsoft Windows NT 6.1.7601 Service Pack 1
X-IIS-Version : Microsoft-IIS/7.5
X-Worker-Request : System.Web.Hosting.IIS7WorkerRequest
Access-Control-Allow-Origin : *
Access-Control-Allow-Credentials : true
Access-Control-Allow-Methods : ACL, CANCELUPLOAD, COPY, DELETE, GET, HEAD, CHECKIN, CHECKOUT, LOCK, MKCALENDAR, MKCOL, MOVE, OPTIONS, POST, PROPFIND, PROPPATCH, PUT, REPORT, SEARCH, UNCHECKOUT, UNLOCK, UPDATE, VERSION-CONTROL
Access-Control-Allow-Headers : Overwrite, Destination, Content-Type, Depth, User-Agent, Translate, Range, Content-Range, Timeout, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Location, Lock-Token, If
Access-Control-Expose-Headers : DAV, content-length, Allow
Access-Control-Max-Age : 2147483647
X-Engine : IT Hit WebDAV Server .Net v4.0.2416.0 (Evaluation License)
Content-Type : application/xml; charset=utf-8

[11] <?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:">
  <d:responsedescription>The report is not supported.</d:responsedescription>
</d:error>
[11] ----------------- Finished: 24.11.2015 15:00:12 Took 0ms --------

Accoding to RFC-6352 CARDDAV:addressbook-query REPORT support is required. IT Hit WebDAV Server implementation of CardDAV server returns http status code 405. CardDAV 协议的客户端或服务器实现的问题?

这是我直接从 ItHit 得到的答案:

Just a quick update regarding addressbook-query support. I was wrong about its support. Our engine currently supports calendar-query, calendar-multiget and addressbook-multiget, but not addressbook-query. We are working to add its support in the next update.

根据 RFC,地址簿查询的实现是必需的。 WebDAVServerEngine 版本 4.0.2416 不是 CardDAV 协议的完整实现。