Download the December 2011 Update of EWSEditor HERE.

Over a year has gone by since a public update to EWSEditor on the MSDN Code Gallery but it’s not been forgotten!  The availability and popularity of Office 365 and Exchange Online make Exchange Web Services (and thus EWSEditor) even more relevant today as EWS becomes the primary mailbox access API for Exchange.  Many of the folks I talk to these days are in the middle of redesigning their products to use EWS instead of MAPI.

When I first created EWSEditor, I was working on the support side of the business and thus my goal was to create a tool to help debug Exchange or fix client code.  Now that I work on the consulting side of the business and talk more about best practices and architecture, I’m feeling the need to rework a lot of this code to “practice what I preach”.  While this release doesn’t contain a huge amount of best practices refactoring, I plan to address this in the near future with additional updates to EWSEditor.  This release is about getting the codebase healthier and to put some things in place to make it easier to add features in the future.

The biggest change of course is that EWSEditor has moved to CodePlex.  Here is a summary of the other major changes and new features in the December 2011 update to EWSEditor….

  • Organized code and namespaces to make navigation of code easier and more logical   
  • Made various changes to support EWS Managed API 1.1 updates and Office 365 mailboxes
  • Moved app.config appSettings to userSettings
    • Can be changed through Options dialog under Tools menu
    • Configurable UserAgent specified on all EWS requests
    • image
  • Request/Response History is now the Debug Log:
    • Simplifies debug output in source code
    • Combines EWS and general debug output in the UI
    • RequestResponseHistoryForm gone, DebugLogViewerForm added
    • Debug output for the current “session” is stored in memory and optionally appended to a file on disk (configurable through the options menu
    • image
  • Added options for SSL certificate and Autodiscover redirection validation:
    • Override SSL certificate validation to allow all certs
    • Output detailed certificate information to the debug log
    • Allow all Autodiscover redirects
  • Created ExchangeProxyFactory class
    • This will be referenced in later best practices posts
    • Set the credentials, URL, and other connection settings once on the factory then use the factory to create ExchangeService (EWS API), AutodiscoverService (EWS API), or ExchangeServiceBinding (VS Proxy) objects as needed
  • Added ExportItems and UploadItems functionality
    • These operations are not in the EWS Managed API and therefore called through VS proxy classes
    • image
  • Added AutodiscoverViewerForm
    • Currently only shows detailed Autodiscover output in the debug log
    • image
    • Plan to update this form in the future to include: a table on the form to show Autodiscover settings retrieved in addition to the debug log and ability to call GetDomainSettings.
  • Added ConvertIdForm
    • A simple form to exercise the ConvertId operation
    • image