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

Open
opened 2026-02-25 20:31:37 +03:00 by kerem · 0 comments
Owner

Originally created by @wuri999 on GitHub (Jun 5, 2025).
Original GitHub issue: https://github.com/aluxnimm/outlookcaldavsynchronizer/issues/453

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!


Originally created by @wuri999 on GitHub (Jun 5, 2025). Original GitHub issue: https://github.com/aluxnimm/outlookcaldavsynchronizer/issues/453 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 <?xml version="1.0" encoding="utf-16"?> <SynchronizationReport xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w30.org/2001/XMLSchema-instance"> <ProfileName>企业微信</ProfileName> <ProfileId>584f8fab-1471-4479-8475-d341ad2d1215</ProfileId> <StartTime>2025-06-05T02:23:28.7868119Z</StartTime> <LoadErrors /> <EntitySynchronizationReports /> <ExceptionThatLeadToAbortion>CalDavSynchronizer.DataAccess.WebDavClientException: Response status code does not indicate success: '403' ('Forbidden'). Message: &lt;?xml version="1.0" encoding="utf-8" ?&gt; &lt;D:multistatus xmlns:D="DAV:" &gt; &lt;D:response&gt; &lt;D:href&gt;/calendar/F23bnQ8vkyEK5gfRmgIAAAo/&lt;/D:href&gt; &lt;D:status&gt;HTTP/1.0 403 Forbidden&lt;/D:status&gt; &lt;D:error&gt;&lt;CC:propfind-finite-depth xmlns:CC="DAV:"/&gt;&lt;/D:error&gt; &lt;D:responsedescription&gt;request on collections with depth in header of "Infinity" is not allow&lt;/D:responsedescription&gt; &lt;/D:response&gt; &lt;/D:multistatus&gt; 在 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.&lt;ExecuteWebDavRequest&gt;d__9.MoveNext() --- 引发异常的上一位置中堆栈跟踪的末尾 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 CalDavSynchronizer.DataAccess.HttpClientBasedClient.WebDavClient.&lt;ExecuteWebDavRequestAndReadResponse&gt;d__7.MoveNext() --- 引发异常的上一位置中堆栈跟踪的末尾 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 CalDavSynchronizer.DataAccess.WebDavDataAccess.&lt;CollectionSync&gt;d__15.MoveNext() --- 引发异常的上一位置中堆栈跟踪的末尾 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 CalDavSynchronizer.Implementation.CalDavRepository`1.&lt;GetFullRepositoryState&gt;d__21.MoveNext() --- 引发异常的上一位置中堆栈跟踪的末尾 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 GenSync.Synchronization.Synchronizer`11.&lt;Synchronize&gt;d__27.MoveNext() --- 引发异常的上一位置中堆栈跟踪的末尾 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 GenSync.Synchronization.ContextCreatingSynchronizerDecorator`7.&lt;Synchronize&gt;d__3.MoveNext() --- 引发异常的上一位置中堆堆栈跟踪的末尾 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 CalDavSynchronizer.Scheduling.SynchronizationProfileRunner.&lt;RunAndRescheduleNoThrow&gt;d__22.MoveNext()</ExceptionThatLeadToAbortion> <ConsiderExceptionThatLeadToAbortionAsWarning>false</ConsiderExceptionThatLeadToAbortionAsWarning> <Duration>00:00:01.1378730</Duration> </SynchronizationReport> 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> <settings> <servicePointManager expect100Continue="false" /> <httpWebRequest useUnsafeHeaderParsing="true" /> </settings> </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!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/outlookcaldavsynchronizer#438
No description provided.