Platform SDK: Exchange 2000 Server

Example Persisted Search Folder HTTP Request and Response

[This is preliminary documentation and subject to change.]

The following is a sample client/server dialog. The client requests the creation of a persisted search folder at the URL "http://somedomain.microsoft.com/public2/ps1/" that contains the items that satisfy the following SQL search command:

SELECT * 
FROM scope('shallow traversal of "http:// somedomain.microsoft.com/public2/templates/"') 
WHERE "DAV:ishidden"     = False 
AND   "DAV:contentclass" = "urn:schemas-mydomain-tld:reporttemplate"

Client Request

The client creates connects to port 80 (HTTP) on the host with DNS name "somedomain.microsoft.com" and sends the following command to the server. Some standard headers normally sent, such as Accept-Language: are removed from the example request and response for brevity and clarity.

MKCOL /public2/ps1/ HTTP/1.1
Host: somedomain.microsoft.com
Content-Length: XXX
Content-type: text/xml
Timeout: Infinite
Colltype: <DAV:searchcol>

<?xml version="1.0"?>
<a:searchrequest xmlns:a="DAV:">
  <a:sql>
   SELECT * 
   FROM scope('shallow traversal of "http://somedomain.microsoft.com/public2/templates"')
   WHERE "DAV:ishidden" = False 
   AND "DAV:contentclass" = "urn:schemas-mydomain-tld:reporttemplate"
  </a:sql>
</a:searchrequest>

Server Response

The server responds to the client with the following:

HTTP/1.1 201 Created
Content-Length: 0
Location: http://somedomain.microsoft.com/public2/ps1/
Timeout: Second-140

Once this successful response has been sent, the Web Store has begun populating the search folder with the items that satisfy the SQL request. Note that not all items that match are immediately present until the Web Store completes the construction of the folder.

Note that the server has sent a different Timeout value for the search. Note also that the Location: header returned can be different than the value sent by the client when the MKCOL request was made.