Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 5172
  • Last Modified:

PROPFIND - The remote server returned an error: (501) Not Implemented. Exchange Server 2003

Using WebDAV for exchange 2003. Requesting security descriptor from a public folder, get the error returned:
The remote server returned an error: (501) Not Implemented.

This returns an xml document when I run the same query on a private folder in my personal Inbox.
Any clues appreciated.

Already checked that the url is encoded, and browsing through http://exch1/public works fine.
1 Solution
Stacy SpearPresident/Principal ConsultantCommented:
Can you show the code you are using (relevant parts)
rbnzuserAuthor Commented:
           HttpWebRequest Request;
            WebResponse Response;

            strFolderURI = "http://exch1/exchange/PFAdminTest/Inbox/";
            //strFolderURI = "http://exch1/public/Test%20Fileplan/Another";

                string strQuery = "<?xml version='1.0' ?>"
                   + "<f:propfind xmlns:f='DAV:'>"
                   + "<f:prop xmlns:m='http://schemas.microsoft.com/exchange/security/'>"
                   + "<m:descriptor/>"
                   + "</f:prop>"
                   + "</f:propfind>";

                // Create the HttpWebRequest object.
                Request = (HttpWebRequest)HttpWebRequest.Create(strFolderURI);

                // Add the network mCredentials to the request.
                Request.Credentials = mCredentials;
                Request.PreAuthenticate = true;

                // Specify the method.
                Request.Method = "PROPFIND";

                // Encode the body using UTF-8.
                byte[] bytes = Encoding.UTF8.GetBytes(strQuery);

                // Set the content header length.  This must be
                // done before writing data to the request stream.
                //request.ContentLength = bytes.Length;

                // Get a reference to the request stream.
                Stream RequestStream = Request.GetRequestStream();

                // Write the SQL query to the request stream.
                RequestStream.Write(bytes, 0, bytes.Length);
                // Close the Stream object to release the connection
                // for further use.

                // Set the content type header.
                Request.ContentType = CONTENT_TYPE_XML;

                Response = (HttpWebResponse)Request.GetResponse();

                Stream ResponseStream = Response.GetResponseStream();
rbnzuserAuthor Commented:
Used BPROPFIND instead. This seems to work fine.
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Stacy SpearPresident/Principal ConsultantCommented:
wow, wonder why it didn't work the first time. was working up more code to test this out.

Request to close this one.
PAQed with points refunded (500)

EE Admin
Please check the firewall
Stacy SpearPresident/Principal ConsultantCommented:
This is a closed question abal.

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now