Skip to content

403 Forbidden: "request on collections with depth in header of 'Infinity' is not allow" when syncing with WeChat Work CalDAV #453

@wuri999

Description

@wuri999

Hello CalDav Synchronizer Team,

I am experiencing a persistent 403 Forbidden error when trying to synchronize my Outlook calendar with WeChat Work CalDAV. The error message clearly indicates the root cause: "request on collections with depth in header of "Infinity" is not allow".

Here is the exact error message from the synchronization report:

XML

企业微信 584f8fab-1471-4479-8475-d341ad2d1215 2025-06-05T02:23:28.7868119Z CalDavSynchronizer.DataAccess.WebDavClientException: Response status code does not indicate success: '403' ('Forbidden'). Message: <?xml version="1.0" encoding="utf-8" ?> <D:multistatus xmlns:D="DAV:" > <D:response> <D:href>/calendar/F23bnQ8vkyEK5gfRmgIAAAo/</D:href> <D:status>HTTP/1.0 403 Forbidden</D:status> <D:error><CC:propfind-finite-depth xmlns:CC="DAV:"/></D:error> <D:responsedescription>request on collections with depth in header of "Infinity" is not allow</D:responsedescription> </D:response> </D:multistatus>
在 CalDavSynchronizer.DataAccess.HttpClientBasedClient.WebDavClient.&lt;EnsureSuccessStatusCode&gt;d__10.MoveNext()

--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 CalDavSynchronizer.DataAccess.HttpClientBasedClient.WebDavClient.<ExecuteWebDavRequest>d__9.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 CalDavSynchronizer.DataAccess.HttpClientBasedClient.WebDavClient.<ExecuteWebDavRequestAndReadResponse>d__7.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 CalDavSynchronizer.DataAccess.WebDavDataAccess.<CollectionSync>d__15.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 CalDavSynchronizer.Implementation.CalDavRepository1.&lt;GetFullRepositoryState&gt;d__21.MoveNext() --- 引发异常的上一位置中堆栈跟踪的末尾 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 GenSync.Synchronization.Synchronizer11.<Synchronize>d__27.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 GenSync.Synchronization.ContextCreatingSynchronizerDecorator`7.<Synchronize>d__3.MoveNext()
--- 引发异常的上一位置中堆堆栈跟踪的末尾 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 CalDavSynchronizer.Scheduling.SynchronizationProfileRunner.<RunAndRescheduleNoThrow>d__22.MoveNext()
false
00:00:01.1378730

It appears that CalDav Synchronizer is sending a PROPFIND request with a Depth: Infinity header, which the WeChat Work CalDAV server explicitly disallows.

Steps I have already tried, but which did not resolve the issue:

Toggling "Use WebDAV Collection Sync" option: I tried both enabling and disabling this option in the profile settings, but the error persists.
Modifying CalDavSynchronizer.dll.config file: I edited the CalDavSynchronizer.dll.config file (located in C:\Program Files (x86)\CalDavSynchronizer) to include/modify the following system.net settings, hoping to influence underlying HTTP request behavior:
<system.net>




</system.net>

  After modifying the file, I completely restarted Outlook each time. The error remained unchanged.
3.  Checking UI and documentation: I have thoroughly reviewed the CalDav Synchronizer user interface and the official documentation (https://caldavsynchronizer.org/help/documentation/) for any direct options to control the PROPFIND Depth (e.g., setting it to Depth: 0 or Depth: 1), but could not find any such explicit setting.

My Request:

Since the WeChat Work CalDAV server strictly prohibits Depth: Infinity requests, and there appears to be no configurable option within the application to modify the PROPFIND depth, I kindly request the following:

Could you please advise if there is a hidden or undocumented setting in CalDav Synchronizer that allows controlling the PROPFIND depth (e.g., to send Depth: 1 instead of Depth: Infinity)?
If not, would it be possible to consider adding this functionality in a future release, perhaps as an advanced option, or to implement specific compatibility logic for servers like WeChat Work CalDAV that have this restriction?
Additional Information:

CalDav Synchronizer Version: (4.6.0.0)
Outlook Version: ( 适用于 Microsoft 365MSO (版本 2505 Build 16.0.18827.20102) 64 位)
Operating System: (Windows 11 专业版 Insider Preview  Windows 功能体验包 1000.26100.121.0)
Thank you for your time and assistance!


Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions