Manish Sinha - 2004-01-21

Hi,

I'm using WebDav open source (EZDAV : WebDAV client library for Win32) for one of my projects. The apache server is running on a Linux System. The client (downloaded one) runs on windows. I can use all the operations like dav_connect, dav_initialize_lock_database, dav_disconnect, dav_mkdir, dav_finalize_lock_database, dav_copy_from_server, dav_copy_to_server, dav_delete.  I've made a very simple application to use these call.

However I'm having problems in the function dav_opendir. Its returns me Status code are as follows

If I give "/dav/MyDir" (where MyDir is the director on the server machine which is to be opened) I get the status code as  301(Moved Permanently).

If I give something like "\/dav\/MyDir (in which a '/' is always preceeded by '\'). I get the status code as 207 (Multi Status)

If I give something like "/dav/MyDir . I get the status code as 207 (Multi Status).

I think the status code 207 is a success. However I get a parse error in the following call dav_opendir_on_response_entity --> dav_create_multistatus_from_storage --> xml_tree_build_from_storage

In the last function the following line gives an error

XML_Parse(parser, read_buffer, read_count, read_count != 128) == 0)

The reason behind this is that the server is returning status 207 appended with 944 (3b0 in hexadicimal). It is getting appended in the response. That is the response starts with "3b0<?xml version="1.0" encoding="utf-8"?>.....
and it continues. The apache server version is 2.0.48

I'm not able to get any explainations about this behaviour. 'I've debugged code, but may be my approcah is incorrect or I am not getting the right thing.

I'll appreciate if you'll look into the issus.

Thanks and best regards,
Manish