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: Getting traces for .NET apps when you cannot modify the application and don't want to use more than one machine.

    One of the biggest pains of .NET applications going against Exchange is getting detailed logs. Using a tracing tool like Fiddler is great since it will SSL decode traffic, however it won't capture traffic from a .NET application running on the same box unless that application can set its proxy settings...
  • Blog Post: EASTester 1.4 Released - Troubleshooting Exchange Server ActiveSync (EAS) becomes even more fun!

    I just published an update to EASTester. This release has several new features: You can set proxy server settings. This means you can point it to Fiddler and see more details on the requests and responses. The default is 127.0.0.8 and port 8888 – which is what Fiddler’s proxy defaults...
  • Blog Post: Showing custom properties or custom forms on a device which uses EAS.

    I was recently asked by a customer if there was a way to get custom properties to be displayed in a message on EAS Devices. The short answer is no. First, a bit about ActiveSync... Exchange Server ActiveSync (EAS) is a low-level binary protocol which is heavily licensed. All commercialized development...
  • Blog Post: February release of EwsEditor 1.8.0.32423

    I continued work on the EWS POST window and added many more EWS POST samples. The EWS POST window had some minor fixes one and also many more EWS samples have been added - there are now well over 100. A window which can send email using System.Net.Mail sends email to an SMTP port or to an SMTP...
  • Blog Post: January release of EWSEditor 1.7.5.32013

    I've been expanding EWSEditor so that it can be used for EWS calls which the Exchange Managed API 2.0 cannot handle. A new EWS POST windows has been added in addition to a lot of sample requests. The project was also ported to Visual Studio 2013 and .NET 4.5 is now used. Below is more information on...
  • 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: OWA Single-sign-on support

    OWA 2010 and prior is considered non-extensible as far as Microsoft is concerned in the area of doing single-sign-on programmatically. The exception to this would be when a person is in-network and uses their existing network credentials to access OWA through Windows Authentication. Please understand...
  • Blog Post: OWA Web Part in an iFrame sample

    I have not seen any examples of using OWA parts in an iFrame. However, I wrote such a sample recently and wanted to share it. The full OWA UI in an iFrame is not supported and its expected that doing so may fail at any given point and at different points depending upon the service pack and hotfix...
  • 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...
Page 1 of 7 (168 items) 12345»