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.

Browse by Tags

Tagged Content List
  • Blog Post: EWS Managed API... open source? YES! It's now Open Source!!!

    A few weeks ago the EWS Java API was made open-source. Last week the EWS Managed API (.NET based) went open source. So now you can download the code and contribute to it. You can also directly report bugs on it. This is another of the wonderful changes which are happening at MS as it moves forward, evolving...
  • Blog Post: EWS Java API - The story gets better... Open Source!!!

    If you have been doing development with Exchange Web Services (EWS) and develop with Java there has been an API which could be used called the EWS Java API. In the past I've been asked about how often it got updated and if it might get made open source. The answers we could provide were to check the...
  • Blog Post: Announcing EwsRelentless 1.0

    This is a sample/tool I wrote in order to check the behavior of Exchange when a heavy load is put against it. You need to exercise caution and take responsibility for the code and the apps behavior if you decide to use it since it can throw so much of a load against a CAS that it can bring the server...
  • Blog Post: Announcing EASTester

    The Exchange Server Interoperability Guidance documents have some really good sample code. I’ve leveraged some of its code to build a tool with capabilities which have been helpful in resolving EAS issues. This tool’s code an binaries are now published in Codeplex. The current functionality...
  • Blog Post: Exchange Autodiscover Checker

    A while back I wrote a basic application which did Autodiscover using the Exchange Managed API and provided some minimal logging. The tool is called Autodiscover Checker and the full code for it can be found on code.msdn.microsoft.com. Over time I have added a lot more to this application by adding more...
  • Blog Post: "Enhancing Exchange" via unsupported methods.

    Every so often we run into cases where customers try to augment the behavior of Exchange or otherwise integrate with it using some unsupported methodology. When this is done Exchange may become unstable and behave in unexpected ways. It’s extremely important to stick to what is supported. If you...
  • Blog Post: How to get OOF text from Exchange 2003 using WebDAV

    You may be able to get OOF text with WebDAV using a SEARCH. However, its not supported in any way and there is no guarentee that it will always work. The OOF text is stored inside of a hidden item in a mailbox. Below is a sample of the request which is for educational purposes only. Please note that...
  • Blog Post: The importance of EWS Impersonation while using an application account.

    Developers of applications which require access to user mailboxes often struggle with the choice between the Impersonation and Delegation access methods. While both provide programmatic rights to mailbox objects, they are designed to meet rather different needs, and for situations where a single account...
  • Blog Post: Inline attachments used with EWS and Text, HTML, MHTML or MIME

    Exchange Web Services has three different ways to set message body content when working with messages – setting the Text body, setting the html body or creating the message using email MIME (note that there are different types of MIME). Images which are directly with HTML content are not supported...
  • Blog Post: How to check for calendar corruption.

    A corrupt calendar item can reallly mess-up a custom application and even some very seasoned applications. If there is a corrupt item/items, then those should be cleared-up ASAP before trying to do some sort of code work-around. If you are suspecting calendar corruption, you should consider using one...
  • Blog Post: EAS 177 response code or Why cant I sync any more devices.

    Exchange allows you to sync a max of 10 devices agains a mailbox. Each time you sync a new device, a sync partnershipe is created. You can view thes sync pertnerships in OWA. Most users will never see this error code; however, IT professionals who test and develop EAS devices will sometimes run into...
  • Blog Post: Taking Dumps with the ADPlus executable

    ADPlus from the Debugging Tools can be used to get Crash Dumps and Hang Dumps which would contain the most-needed information for debugging. It used to be a vbscript file which was used to attach the cdb debugger (cdb is a command line debugger). Now ADPLus is a managed code application. Because of this...
  • Blog Post: EWS Autodiscovery Checker

    I have written a sample which can be used by developers and Exchange Admins for handling issues with their custom code doing Autodiscovery. I have and several others have used this sample as a base-line for testing and for code harvesting for a while. I wanted to share this with you so that you might...
  • Blog Post: Microsoft Developer Support does not write or maintain customer production code.

    Microsoft Developer Support does not write or maintain customer production code. If you want Microsoft to do the changes and implement production code, then MCS would be the more appropriate Microsoft organization. Also, you could engage a Microsoft Partner, or any other third party developer entity...
  • Blog Post: How to tell which authentication protocols can be used with WebDAV.

    When you do an anonymous POST to the “exchange” virtual folder, you will get back a response which will tell you about which authentication protocols are supported. Each “WWW-Authenticate:” header in the response tells you which type of authentication method is supported. If you...
  • Blog Post: New to Exchange ActiveSync Development?

    One area I do developer support for is EAS development with those who have an EAS client development license and have a specific support agreement in their Premier contract for EAS developer support - these are needed to get any EAS developer support from Microsoft. Developers who do not have these should...
  • Blog Post: Howto: Using EWS, get the original body type of a message without getting the best body of the message.

    The PidTagNativeBody property (Property ID, 0x1016; Data Type 0x0003 (PtypInteger32)) should reflect the format of the body when a normal email message arrives in the inbox (not counting calendar messages such as meeting requests, etc.). If the message is signed, you would need to dig into it to figure...
  • Blog Post: Howto: Set the organizer of a meeting on the calendar of an attendee using EWS.

    I would like to say that this is something which is easily possible - however, I cannot. Setting the organizer directly in code is not supported. Historically, having the organizer over-writable has caused some pretty bad situations for customers. When a meeting is created, the organizer property is...
  • Blog Post: Use Exchange PowerShell to get statistical information for Exchange Server ActiveSync

    Background: To get information on EAS activity on an Exchange server, you will need to call Exchange PowerShell cmdlets. PowerShell is used for doing administrative work against Exchange. Each administrative task is done through an Exchange cmllet (command-let). Exchange PowerShell cmdlets can be...
  • Blog Post: Howto: Example to retrieve the body property of a message using the Exchange Managed API.

    public string GetItemMime(ItemId oItemId) { string sReturn = string.Empty; PropertySet oMimePropertySet = new PropertySet(ItemSchema.MimeContent); Item oItem = Item.Bind(_ExchangeService, oItemId, oMimePropertySet); return oItem.MimeContent.ToString() ; } public string GetItemMime...
  • Blog Post: Howto: Example to retrieve the html body property of a message using the Exchange Managed API.

    public string GetMessageBodyAsHtml(Item oItem) { string sRet = string.Empty; PropertySet oPropSet = new PropertySet(PropertySet.FirstClassProperties); oItem.Load(PropertySet.FirstClassProperties); PropertySet oPropSetForBodyText = new PropertySet(PropertySet.FirstClassProperties...
  • Blog Post: Howto: Example to retrieve the body property of a message using the Exchange Managed API.

    public string GetMessageBody(Item oItem, BodyType oBodyType) { string sRet = string.Empty; PropertySet oPropSet = new PropertySet(PropertySet.FirstClassProperties); oItem.Load(PropertySet.FirstClassProperties); PropertySet oPropSetForBodyText = new PropertySet(PropertySet.FirstClassProperties...
  • Blog Post: WebStoreExplore 1.8.3 is now public

    In the past, the team I belong to has made vailable "super samples" which provide a broad range of coverage-by-example around specific messaging APIs - these are often referred to as API Explorers. Two examples of these are MFCMAPI (for Extended MAPI) and EWSEditor (Exchange Web Services). There is a...
  • Blog Post: Consider the full impact of Exchange Set-MailboxCalendarSettings and Set-CalendarProcessing before changing settings

    Many messaging developers and Exchange administrators are not aware of possible effects of MailboxCalendarSettings settings. While these options provide much needed capabilities which remove the need for specialized code, caution should be exercised as MailboxCalendarSettings can drastically affect any...
  • Blog Post: How to get the original body type of a message without getting the best body of the message using EWS.

    The PidTagNativeBody property (Property ID, 0x1016; Data Type 0x0003 (PtypInteger32)) should reflect the format of the body when a normal email message arrives in the inbox (not counting calendar messages such as meeting requests, etc.). If the message is signed, you would need to dig into it to figure...
Page 1 of 7 (158 items) 12345»