Ok, kann Dein Problem jetzt nachvollziehen, liegt aber an Deinem Client, der sendet einen falschen Accept Header für JSON und nicht XML oder einfach alles
Kannst Du selber mal ausprobieren, z.B. von einem Linux System wie dem EGroupware Host aus:
curl -i https://rszk.scheeder.de/egroupware/groupdav.php/rszkveranst/calendar/ --user rszkveranst \
-X REPORT -H 'Content-Type: text/xml' -H 'Accept: */*' --data-binary \
'<C:calendar-query xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"><D:prop><C:calendar-data/></D:prop><C:filter><C:comp-filter name="VCALENDAR"><C:comp-filter name="VEVENT"><C:time-range start="20230726T220000Z" end="20240201T230000Z"/></C:comp-filter></C:comp-filter></C:filter></C:calendar-query>'
Dann kommt als Response:
HTTP/1.1 207 Multi-Status
Server: nginx/1.24.0
Date: Thu, 27 Jul 2023 18:28:50 GMT
Content-Type: text/xml; charset="utf-8"
Transfer-Encoding: chunked
Connection: keep-alive
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
X-Dav-Powered-By: EGroupware 23.1.002 CalDAV/CardDAV/GroupDAV server
X-WebDAV-Status: 207 Multi-Status
DAV: 1, 2, access-control, calendar-access, calendar-auto-schedule, calendar-proxy, calendarserver-principal-property-search, calendarserver-private-events, calendar-managed-attachments
<?xml version="1.0" encoding="utf-8"?>
<D:multistatus xmlns:D="DAV:">
<D:response xmlns:ns0="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/" xmlns:ns2="urn:ietf:params:xml:ns:caldav">
<D:href>/egroupware/groupdav.php/ralf/calendar/338.ics</D:href>
<D:propstat>
<D:prop>
<ns2:calendar-data>BEGIN:VCALENDAR
...
Wenn Du den gleichen Request mit dem JSON Accept Header schickst:
curl -i https://rszk.scheeder.de/egroupware/groupdav.php/rszkveranst/calendar/ --user rszkveranst \
-X REPORT -H 'Content-Type: text/xml' -H 'Accept: application/json, application/vnd.api+json' --data-binary \
'<C:calendar-query xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"><D:prop><C:calendar-data/></D:prop><C:filter><C:comp-filter name="VCALENDAR"><C:comp-filter name="VEVENT"><C:time-range start="20230726T220000Z" end="20240201T230000Z"/></C:comp-filter></C:comp-filter></C:filter></C:calendar-query>'
Dann bekommst Du Deinen Fehler.
Der JSON Accept Type sorgt dafür, das die REST API antwortet und nicht der CalDAV Server
Ich habe jetzt mal etwas mehr Logic eingebaut, die verhindert, dass die REST API auf einen offensichtlichen CalDAV Request antwortet:
(Gibt hier im Forum eine Anleitung, wie Du den Fix bei Dir zum Testen einspielen kannst.)
Das hilft bei dem Request mit dem Du das Problem hattest. Es gibt aber auch Requests bei denen ich nur am richtig gesetzten Accept-Header erkennen kann, ob die REST API mit JSON oder der CalDAV Server CalDAV antwortet soll. Das muss der Client schon richtig machen …
Ralf