<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Exchange</title>
        <link>http://weblogs.sqlteam.com/mladenp/category/228.aspx</link>
        <description>Exchange</description>
        <language>en-US</language>
        <copyright>Mladen Prajdić</copyright>
        <managingEditor>spirit1_fe@yahoo.com</managingEditor>
        <generator>Subtext Version 1.9.4.0</generator>
        <item>
            <title>Exchange: Accept and Cancel Meeting Request with WebDav</title>
            <link>http://weblogs.sqlteam.com/mladenp/archive/2007/08/22/Exchange-Accept-and-Cancel-Meeting-Request-with-WebDav.aspx</link>
            <description>&lt;p&gt;In a lengthy article about &lt;a href="http://weblogs.sqlteam.com/mladenp/articles/9560.aspx" target="_blank"&gt;&lt;strong&gt;&lt;font color="#004080"&gt;WebDAV&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;  i've written a long while ago I've explained how and what WebDAV is and what are the problems you might encounter.&lt;/p&gt; &lt;p&gt;Suggesting by the comments (over 200) it's a pretty popular topic but there's no help on the net for anything more complex than simple operations because&lt;/p&gt; &lt;p&gt;MSDN suggest that WebDAV is totally unsupported. So anything you do with it you're on your own.&lt;/p&gt; &lt;p&gt;Having said that let's see how to do those 2 things from the title:&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Cancel a Meeting Request&lt;/strong&gt;&lt;/p&gt; &lt;p&gt; 1. get the Meeting Request URI from the inbox&lt;/p&gt; &lt;p&gt; 2. get the associated appointment for that Meeting Request &lt;/p&gt; &lt;p&gt;          explained how in previous article under     &lt;/p&gt; &lt;p&gt;               &lt;em&gt;Development problems and bugs - 3. Getting associated appointment from a meeting request reply&lt;/em&gt;&lt;/p&gt; &lt;p&gt; 3. modify (PROPPATCH) it with the setting the appointments stampdate to now &lt;/p&gt; &lt;p&gt; 4. modify (PROPPATCH) the appointment like this (change the dtstamp property to now):&lt;/p&gt; &lt;blockquote&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="html"&gt;xml&lt;/span&gt; &lt;span class="attr"&gt;version&lt;/span&gt;=\&lt;span class="kwrd"&gt;"1.0\"&lt;/span&gt; ?&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a:propertyupdate&lt;/span&gt; 
        &lt;span class="attr"&gt;xmlns:a&lt;/span&gt;=\&lt;span class="kwrd"&gt;"DAV:\"&lt;/span&gt; 
        &lt;span class="attr"&gt;xmlns:n0&lt;/span&gt;=\&lt;span class="kwrd"&gt;"http://schemas.microsoft.com/exchange/\"&lt;/span&gt; 
        &lt;span class="attr"&gt;xmlns:n1&lt;/span&gt;=\&lt;span class="kwrd"&gt;"urn:schemas:calendar:\"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a:set&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a:prop&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;n0:outlookmessageclass&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;IPM.Schedule.Meeting.Canceled&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;n0:outlookmessageclass&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a:contentclass&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;urn:content-classes:calendarmessage&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a:contentclass&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;n1:dtstamp&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;2007-08-22T15:36:52.696Z&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;n1:dtstamp&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;n1:method&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;CANCEL&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;n1:method&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a:prop&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a:set&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a:propertyupdate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt; 5. move the appointment to &lt;strong&gt;##DavMailSubmissionURI##&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Accept a Meeting Request&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt; 1. get the meeting request URI from the inbox&lt;/p&gt;
&lt;p&gt; 2. get it's from and to properties (FROM property will be set to TO, and TO property will be set to FROM in the reply)&lt;/p&gt;
&lt;p&gt; 3. copy the meeting request to the Calendar folder (now you have 2 identical meeting requests - one in inbox and one in calendar)&lt;/p&gt;
&lt;p&gt; 4. move the meeting request from inbox to drafts folder&lt;/p&gt;
&lt;p&gt; 5. modify (PROPPATCH) the meeting request in the &lt;strong&gt;&lt;em&gt;Calendar&lt;/em&gt;&lt;/strong&gt; folder like this (change the dtstamp property to now):&lt;/p&gt;
&lt;blockquote&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="html"&gt;xml&lt;/span&gt; &lt;span class="attr"&gt;version&lt;/span&gt;=\&lt;span class="kwrd"&gt;"1.0\"&lt;/span&gt; ?&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a:propertyupdate&lt;/span&gt; 
        &lt;span class="attr"&gt;xmlns:a&lt;/span&gt;=\&lt;span class="kwrd"&gt;"DAV:\"&lt;/span&gt; 
        &lt;span class="attr"&gt;xmlns:n0&lt;/span&gt;=\&lt;span class="kwrd"&gt;"http://schemas.microsoft.com/exchange/\"&lt;/span&gt; 
        &lt;span class="attr"&gt;xmlns:n1&lt;/span&gt;=\&lt;span class="kwrd"&gt;"urn:schemas:calendar:\"&lt;/span&gt; 
        &lt;span class="attr"&gt;xmlns:n2&lt;/span&gt;=\&lt;span class="kwrd"&gt;"http://schemas.microsoft.com/mapi/\"&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a:set&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a:prop&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;n0:outlookmessageclass&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;IPM.Appointment&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;n0:outlookmessageclass&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a:contentclass&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;urn:content-classes:appointment&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a:contentclass&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;n1:dtstamp&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;2007-08-22T16:14:30.492Z&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;n1:dtstamp&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;n1:meetingstatus&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;CONFIRMED&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;n1:meetingstatus&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;n1:method&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;REQUEST&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;n1:method&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;n2:responsestatus&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;3&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;n2:responsestatus&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a:prop&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a:set&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a:propertyupdate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;  6. modify (PROPPATCH) the meeting request in the &lt;strong&gt;&lt;em&gt;Drafts&lt;/em&gt;&lt;/strong&gt; folder like this (change the dtstamp property to now):&lt;/p&gt;
&lt;blockquote&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="html"&gt;xml&lt;/span&gt; &lt;span class="attr"&gt;version&lt;/span&gt;=\&lt;span class="kwrd"&gt;"1.0\"&lt;/span&gt; ?&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a:propertyupdate&lt;/span&gt; 
        &lt;span class="attr"&gt;xmlns:a&lt;/span&gt;=\&lt;span class="kwrd"&gt;"DAV:\"&lt;/span&gt; 
        &lt;span class="attr"&gt;xmlns:n0&lt;/span&gt;=\&lt;span class="kwrd"&gt;"http://schemas.microsoft.com/exchange/\"&lt;/span&gt; 
        &lt;span class="attr"&gt;xmlns:n1&lt;/span&gt;=\&lt;span class="kwrd"&gt;"urn:schemas:calendar:\"&lt;/span&gt; 
        &lt;span class="attr"&gt;xmlns:n2&lt;/span&gt;=\&lt;span class="kwrd"&gt;"urn:schemas:httpmail:\"&lt;/span&gt; 
        &lt;span class="attr"&gt;xmlns:n3&lt;/span&gt;=\&lt;span class="kwrd"&gt;"urn:schemas:mailheader:\"&lt;/span&gt; 
        &lt;span class="attr"&gt;xmlns:n4&lt;/span&gt;=\&lt;span class="kwrd"&gt;"http://schemas.microsoft.com/mapi/\"&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a:set&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a:prop&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;n0:outlookmessageclass&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;IPM.Schedule.Meeting.Resp.Pos&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;n0:outlookmessageclass&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a:contentclass&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;urn:content-classes:calendarmessage&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a:contentclass&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;n1:dtstamp&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;2007-08-22T16:18:07.532Z&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;n1:dtstamp&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;n1:meetingstatus&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;CONFIRMED&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;n1:meetingstatus&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;n1:method&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;REPLY&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;n1:method&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;n2:subject&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Accepted: yourOriginalSubjectHere&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;n2:subject&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;n3:to&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;to_Email@this_is_the_from_property_value_of_the_received_meeting_request&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;n3:to&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;n4:responsestatus&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;3&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;n4:responsestatus&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a:prop&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a:set&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a:propertyupdate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;  7. move the item from Drafts to &lt;strong&gt;##DavMailSubmissionURI##&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; That should be it. Enjoy!&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http://weblogs.sqlteam.com/mladenp/archive/2007/08/22/Exchange-Accept-and-Cancel-Meeting-Request-with-WebDav.aspx"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://weblogs.sqlteam.com/mladenp/archive/2007/08/22/Exchange-Accept-and-Cancel-Meeting-Request-with-WebDav.aspx" border="0" /&gt;&lt;/a&gt; 
&lt;table width="100%" unselectable="on"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td align="left"&gt;  &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td align="left"&gt;
&lt;p&gt;&lt;img id="imgAdd" alt="" src="http://weblogs.sqlteam.com/images/weblogs_sqlteam_com/mladenp/225/r_OneWhitePixel.bmp" onload="javascript: try { SwitchToAdd(); } catch(e) {}" name="imgAdd" /&gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;img src="http://weblogs.sqlteam.com/mladenp/aggbug/60299.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mladen Prajdić</dc:creator>
            <guid>http://weblogs.sqlteam.com/mladenp/archive/2007/08/22/Exchange-Accept-and-Cancel-Meeting-Request-with-WebDav.aspx</guid>
            <pubDate>Wed, 22 Aug 2007 16:27:57 GMT</pubDate>
            <wfw:comment>http://weblogs.sqlteam.com/mladenp/comments/60299.aspx</wfw:comment>
            <comments>http://weblogs.sqlteam.com/mladenp/archive/2007/08/22/Exchange-Accept-and-Cancel-Meeting-Request-with-WebDav.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://weblogs.sqlteam.com/mladenp/comments/commentRss/60299.aspx</wfw:commentRss>
            <trackback:ping>http://weblogs.sqlteam.com/mladenp/services/trackbacks/60299.aspx</trackback:ping>
        </item>
        <item>
            <title>PFDavAdmin Tool - Exchange 2000 and 2003 DAV-based Administration Tool</title>
            <link>http://weblogs.sqlteam.com/mladenp/archive/2006/12/02/38926.aspx</link>
            <description>&lt;p&gt;Lately i've been doing quite an amount of work with Exchange and WebDAV access to it.&lt;/p&gt;
&lt;p&gt;Documentation on WebDAV and Exchange server is ok for simple tasks but if you want anything concrete done examples are impossible to come by.&lt;/p&gt;
&lt;p&gt;That's  why I &lt;a target="_blank" href="http://weblogs.sqlteam.com/mladenp/articles/9560.aspx"&gt;&lt;strong&gt;&lt;font color="#004080"&gt;posted a lengthy article&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; about WebDAV and my experience with it.&lt;/p&gt;
&lt;p&gt;Two tools are indespensible when doing any kind of Exchange access development:&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://www.dimastr.com/outspy/"&gt;&lt;strong&gt;&lt;font color="#004080"&gt;Outlook Spy&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; and Exchange Explorer that comes with the &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=4afe3504-c209-4a73-ac5d-ff2a4a3b48b7&amp;amp;displaylang=en"&gt;&lt;strong&gt;&lt;font color="#004080"&gt;Exchange SDK&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;But neither of those help in any way with forming correct WebDAV XML requests. OK, they give you the name and namespace of the properites but that's it.&lt;/p&gt;
&lt;p&gt;Well &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=635BE792-D8AD-49E3-ADA4-E2422C0AB424&amp;amp;displaylang=en"&gt;&lt;strong&gt;&lt;font color="#004080"&gt;PFDavAdmin Tool&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; to the rescue.&lt;/p&gt;
&lt;p&gt;It is an Exchange administration tool that works by using WebDAV requests. So everything it can do (read the word document that comes with it)&lt;/p&gt;
&lt;p&gt;can be seen by capturng the request with a network protocol analyzer and see how it's formed. I use &lt;a target="_blank" href="http://www.wireshark.org/"&gt;&lt;strong&gt;&lt;font color="#004080"&gt;WireShark&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; and it's great.&lt;/p&gt;
&lt;p&gt;Anyone who does any kind of WebDAV development will appreciate this tool.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Of course it's also great for doing real world Exchange administration :)&lt;/p&gt;
&lt;p&gt;For doing that you have to meet these conditions:&lt;/p&gt;
&lt;p&gt; - The computer running the tool must have .NET Framework 1.1 installed and running Windows 2000, Windows XP or Windows 2003. &lt;/p&gt;
&lt;p&gt;I've read that PFDavAdmin is not supported but since it appears on the Microsofts dowload page i don't know if that's still true. Probably not.&lt;/p&gt;&lt;img src="http://weblogs.sqlteam.com/mladenp/aggbug/38926.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mladen Prajdic</dc:creator>
            <guid>http://weblogs.sqlteam.com/mladenp/archive/2006/12/02/38926.aspx</guid>
            <pubDate>Sat, 02 Dec 2006 17:50:13 GMT</pubDate>
            <wfw:comment>http://weblogs.sqlteam.com/mladenp/comments/38926.aspx</wfw:comment>
            <comments>http://weblogs.sqlteam.com/mladenp/archive/2006/12/02/38926.aspx#feedback</comments>
            <wfw:commentRss>http://weblogs.sqlteam.com/mladenp/comments/commentRss/38926.aspx</wfw:commentRss>
            <trackback:ping>http://weblogs.sqlteam.com/mladenp/services/trackbacks/38926.aspx</trackback:ping>
        </item>
    </channel>
</rss>