Example Search Folder HTTP Request and Response

Example Search Folder HTTP Request and Response

This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.

The following is a sample client/server dialog. The client requests the creation of a search folder at the URL "http://somedomain.example.com/public2/ps1/" that contains the items that satisfy the following Structured Query Language (SQL) SELECT Statement:

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

Client Request

The client connects to port 80 ( HTTP) on the host with Domain Name System (DNS) name somedomain.example.com and sends the command in the following example to the server. (Note that, for purposes of brevity and clarity, some standard headers that are usually sent with these requests (such as Accept-Language:) have been omitted from this example.)

MKCOL /pub2/templates/search_folder/ HTTP/1.1
Host: somedomain.example.com
Content-Length: XXX
Content-type: text/xml

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

Server Response

The server then sends the following response to the client:

HTTP/1.1 207 Multi-Status
Server: Microsoft-IIS/5.0
Date: Tue, 22 Feb 1999 12:54:46 GMT
WWW-Authenticate: Negotiate AADAB...
MS-Exchange-Permanent-URL:
     http://hostname/pub2/-FlatUrlSpace-/ab7e2af09631
b745981c6d39445456f2-17/
Location: http://hostname/pub2/templates/search_folder/
Timeout: Infinity
Repl-UID: <rid:ab7e2af09631b745981c6d39445456f2000000001371>
Content-Type: text/xml
Content-Length: XXX
ResourceTag: <rt:ab7e2af09631b745981c6d39445456f200000000
1371ab7e2af09631b745981
c6d39445456f2000000001573>

<?xml version="1.0"?>
<a:multistatus xmlns:a="DAV:">
  <a:response>
    <a:href>
     http://hostname/pub2/templates/search_folder
    </a:href>
    <a:status>HTTP/1.1 201 Created</a:status>
    <a:propstat>
       <a:status>HTTP/1.1 200 OK</a:status>
       <a:prop><a:searchrequest/></a:prop>
    </a:propstat>
  </a:response>
</a:multistatus>

After this successful response has been sent, the Exchange store begins populating the search folder with the items that satisfy the SQL request. Be aware that not all items that match the criteria appear in the search folder until the Exchange store completes the construction of the folder.

Note  The server has sent a different Timeout value for the search. The Location header returned can be different from the value sent by the client when the MKCOL Method request was made.

Send us your feedback about the Microsoft Exchange Server 2003 SDK.

Build: June 2007 (2007.618.1)

© 2003-2006 Microsoft Corporation. All rights reserved. Terms of use.