Dan's WebDAV 101

This blog covers Messaging API development for Exchange and Outlook. My name is Daniel Bagley, I'm on the Messaging Developer Team.
Posts
  • Dan's WebDAV 101

    Detecting Application Memory leaks in Unmanaged C++ with 4 lines of code:

    • 1 Comments
    I had written this up for my team a while back and thought I would share.... We have customers who suspect memory leaks in our APIs. Their only clues are that memory grows and that they are using one of our APIs. One big problem is finding out if...
  • Dan's WebDAV 101

    How can I Increase WebDAV Performance?

    • 1 Comments
    1) When working with lots of data, first search to get the HREFS of the items, then use the HREFS to work with the individual items. The batch processing verbs (BPROPFIND, BPROPPATCH, etc) work well with these. -this will usually give much better performance...
  • Dan's WebDAV 101

    Getting a delay when doing a WebDAV through a firewall?

    • 0 Comments
    If both Basic and Windows authentication is turned-on for the Exchange virtual directory on the Exchange server, and WebDAV code tries to access the Exchange box through a firewall having port 88 blocked, you will get a long delay. The reason for...
  • Dan's WebDAV 101

    Why can't I COPY or MOVE items across stores - i.e. mailboxes, public folders, servers?

    • 2 Comments
    COPY and MOVE will fail with a 502 error when trying to work across stores - not supported. You could read the MIME of messages with a GET and use PUT to write the contents to the new location - this will simulate a COPY. Custom properties and storage...
  • Dan's WebDAV 101

    How to use WebDAV to access mailboxes across Exchange servers?

    • 1 Comments
    If there is a front-end server setup, you can access by opening a connection using HTTP or HTTPS and to WebDAV they would seem seamless - i.e. one server. This is what I have seen used almost all of the time. Using Microsoft Exchange 2000 Front...
  • Dan's WebDAV 101

    Howto Add an Attachment with Webdav

    • 5 Comments
    There is no mechanism to add an attachment in WebDAV. You will need to create/recreate the item using a WebDAV PUT. The text you would be putting would be the mime of the item, which also contains the attachment. It’s useful here to use CDOSYS to create...
  • Dan's WebDAV 101

    Howto Delete Attachments with WebDAV

    • 0 Comments
    The DELETE verb only works on Exchange 2003 SP1 - it will not work on any earlier version/service pack. CDOEX, CDO 1.21, Extended MAPI, etc can do this on Exchange 2000 or 2003. One possible work-around is to read the message stream using a WebDAV...
  • Dan's WebDAV 101

    How to work with Item and Folder Permissions using WebDAV?

    • 1 Comments
    Permissions to folders and items can be read and changed via WebDAV using an XML descriptor. It’s also possible to use other APIs such as ADO update security settings. An XML descriptor is an XML document in a string which describes security permissions...
  • Dan's WebDAV 101

    How do I work with Tasks using WebDAV.

    • 2 Comments
    WebDAV was not designed for working with outlook specific items such as Tasks and is not supported. To work with tasks, you will to reverse-engineer the solution and in order to construct the proper XML to be used for a PROPPATCH/PROPFIND. Tasks are supported...
  • Dan's WebDAV 101

    How do I cancel an appointment with WebDAV?

    • 1 Comments
    Unfortunately, there is no facility to cancel a meeting via WebDAV. You may be able to delete an appointment directly from a calendar if there are no attendees. A meeting is pretty much an appointment with attendees. If you have an appointment with attendees...
  • Dan's WebDAV 101

    HOWTO: VB - Reading Delegates WebDAV Sample

    • 1 Comments
    Private Sub Command1_Click() '===================================================== 'DoXML takes the href to a document 'and returns the MAPI PR_ENTRYID property expressed in 'a hexadecimal string format such as is used by CDO 1.21 'Function DoXML(strHref...
  • Dan's WebDAV 101

    Howto: VB - An example to create a public folder with storage limit settings.

    • 2 Comments
    In this example, the following properties are set during the folder creation. outlookfolderclass contentclass The warning limit in KB Prohibit Post at (KB). Maximum item Size (KB) addressbookdisplayname isreadonly ishidden When reading and setting...
  • Dan's WebDAV 101

    HOWTO: Write a file using VBScript

    • 6 Comments
    '------------------------------------------------------------------------------- ' WriteFileText - Used to write an item to a file in a folder. ' Parameters: ' sFile - The file to read ' ' Returns: ' A string containing the content of the file. '----...
  • Dan's WebDAV 101

    Howto: VBScript - Read a file

    • 4 Comments
    '----------------------------------------------------------------------------------- ' ReadFileText - Used to read a file in a folder. ' Parameters: ' sFile - The file to read ' ' Returns: ' A string containing the content of the file. '-------------...
  • Dan's WebDAV 101

    HOWTO: Make XML returned from a propfind easier to read

    • 0 Comments
    Here is a sample to reformat XML returned from WebDAV PROPFINDs to make it a little easier to read. ' ReformXML - reformats the XML to be more easily readable Private Function ReformXML(sOriginalXML) Dim sXML As String sXML = sOriginalXML sXML = Replace...
  • Dan's WebDAV 101

    HOWTO: Send Email With Attachment Using VB and WebDAV

    • 5 Comments
    To send an email with WebDAV, you will you will need to create/recreate the item with a WEBDAV PUT using the MIME of the message. It gets tricky when working with attachments. To get around the complexity of sending an email with an attachment, you may...
  • Dan's WebDAV 101

    Howto: WebDAV SEARCH using C#

    • 2 Comments
    ' This example shows how to do a SEARCH using C# // C# Example to SEARCH a mailbox. // TODO: // Add a button and double click on it // Add a multi-line text box and make it big. // Add a project reference to System.Xml, an System.Net // Paste-in the...
  • Dan's WebDAV 101

    Howto: WebDAV PROPFIND using VB.NET

    • 2 Comments
    ' This example shows how to do a PROPFIND using VB.NET ‘ VB.NET PROPFIND ‘ TODO: Create a VB.NET winform with a button and a big multiline text box ‘ TODO: Add references to System.Web, System.XML and System.IO ‘ TODO: Add the code to the form. ‘ TODO...
  • Dan's WebDAV 101

    Howto: WebDAV X-MS-ENUMATTS using VBScript to enumerate attachments

    • 3 Comments
    ' This example shows how to enumerate attachments on a message. X-MS-ENUMATTS will ' return phantom urls to attachments on the message. These URLs can be used with GET ' and DELETE (starting with Exchange 2003 SP1). ' For listing and reading an attachment...
  • Dan's WebDAV 101

    Howto: WebDAV COPY using VBScript

    • 0 Comments
    ' This example shows how to do a COPY of a message to a folder. 'NOTE: ' • Copying or Moving items across stores is not supported (that includes maiboxes) ' • You will get a 404 (Resource Not Found) if the source item does not exist. ' • A status of 204...
  • Dan's WebDAV 101

    Howto: WebDAV MOVE using VBScript

    • 0 Comments
    ' This example shows how to do a MOVE of a message to a folder. 'NOTE: ' • Copying or Moving items across stores is not supported (that includes maiboxes) ' • You will get a 404 (Resource Not Found) if the source item does not exist. ' • A status of 204...
  • Dan's WebDAV 101

    Howto: WebDAV PUT using VBScript

    • 1 Comments
    ' This example shows how to do a PUT of a message to a folder. What is being written with a PUT would ' be the MIME of a message and such MIME can also contain the MIME of the message. PUT works against ' messaging items directly such as mail messages...
  • Dan's WebDAV 101

    Howto: WebDAV GET using VBScript

    • 1 Comments
    'The example below demonstrates how to do a WebDAV GET. ' GET works against items and attachments. When used against an item, it give you ' the mime stream of both the message and attachment. You cannot get the mime of only the message ' if there are...
  • Dan's WebDAV 101

    Howto: WebDAV DELETE using VBScript

    • 0 Comments
    'The example below demonstrates how to do a WebDAV PROPPATCH. ' DELETE works against folders and items. This sample shows how to delete a single message. ' NOTE: In versions of Exchange prior to 2003 SP1, you cannot delete an attachment with WebDAV...
  • Dan's WebDAV 101

    Howto: WebDAV PROPPATCH using VBScript

    • 0 Comments
    'The example below demonstrates how to do a WebDAV PROPPATCH. 'The sample changes the subject of one message in the inbox. ' Note: You cannot specify a condition with a PROPPATCH; ' Note: Understand how the Depth header affects patching and you should...
Page 1 of 2 (29 items) 12