jelmer/xandikos

Content not found when fetching a CardDav resource

WhyNotHugo opened this issue · 2 comments

When executing a REPORT request querying the data of an address book:

            
<C:addressbook-multiget
	xmlns="DAV:"
	xmlns:C="urn:ietf:params:xml:ns:carddav">
	<prop>
		<getetag/>
		<C:address-data/>
	</prop>
	<href>/user/contacts/BYWFyAHuEcfxk1uA/PhstoGGSIYNL.ics</href>
</C:addressbook-multiget>

I'm getting a confusing response which indicates that the item exists but doesn't exist. I'm not quite sure how to interpret this:

<ns0:multistatus
	xmlns:ns0="DAV:"
	xmlns:ns1="urn:ietf:params:xml:ns:carddav">
	<ns0:response>
		<ns0:href>/user/contacts/BYWFyAHuEcfxk1uA/PhstoGGSIYNL.ics</ns0:href>
		<ns0:propstat>
			<ns0:status>HTTP/1.1 200 OK</ns0:status>
			<ns0:prop>
				<ns0:getetag>"bf7ed972a0252c2c09b854eeffcf7d9359372ec7"</ns0:getetag>
			</ns0:prop>
		</ns0:propstat>
		<ns0:propstat>
			<ns0:status>HTTP/1.1 404 Not Found</ns0:status>
			<ns0:prop>
				<ns1:address-data />
			</ns0:prop>
		</ns0:propstat>
	</ns0:response>
</ns0:multistatus>

This is an integration test of mine, and I'm creating the resource immediately before querying it, and it's listed as existing when I enumerate items via PROPFIND. Am I doing something wrong here, or what exactly does this means?

An equivalent query for CalDav works fine.

What are the contents of that file? It seems like you're trying to retrieve address-data from something that is a calendar file (.ics?)?

Oh, it's vcard data, but I got the extension wrong when uploading it. I'll try again tomorrow with the right extension.