EWSEditor 1.6.1 is now available for download at the EWSEditor Code Gallery project site!
API coverage is a major focus of the 1.6.* releases of EWSEditor. The 1.6.1 release adds an OOF Settings and Availability form to this end. There were several bugs addressed in this release was well as some changes in the error dialog and about information. These changes will make the information displayed and logged by EWSEditor more useful.
Here is the change list from the download page for this release…
Issues BUG: Untrapped exception when using a self signed certificate on Exchange 2010 BUG: NullReferenceException in ServiceDialog BUG: Autodiscover URL cleared out BUG: ConvertFormToExtendedPropDef makes too many assumptions about control state BUG: Contents grid for attachments should refresh after deleting an attachment BUG: Version dialog says 1.5.0.2. Contrast with Filever output BUG: Double click TreeViewNode opens wrong folder Features FEATURE: OOF Settings Form FEATURE: Add availability form Tasks DCR: EWS Managed API dialog warning should have download link DCR: About EWSEditor doesn't give the EWSEditor website DCR: Distribute EWS API binary as part of release DCR: Simplify copying an exception to the clipboard from the ErrorDialog DCR: F1 should bring up the About dialog. DCR: The AboutDialog should have links to blog content and project site DCR: New Error dialog with "copyable" text.
Issues BUG: Untrapped exception when using a self signed certificate on Exchange 2010 BUG: NullReferenceException in ServiceDialog BUG: Autodiscover URL cleared out BUG: ConvertFormToExtendedPropDef makes too many assumptions about control state BUG: Contents grid for attachments should refresh after deleting an attachment BUG: Version dialog says 1.5.0.2. Contrast with Filever output BUG: Double click TreeViewNode opens wrong folder
Features FEATURE: OOF Settings Form FEATURE: Add availability form
Tasks DCR: EWS Managed API dialog warning should have download link DCR: About EWSEditor doesn't give the EWSEditor website DCR: Distribute EWS API binary as part of release DCR: Simplify copying an exception to the clipboard from the ErrorDialog DCR: F1 should bring up the About dialog. DCR: The AboutDialog should have links to blog content and project site DCR: New Error dialog with "copyable" text.
Any plans to release an updated EWS dll? I'm getting a new odd things coming back, eg NoMatch where an int should be (might be EWS itself tho, not the dll)
Ta
The Exchange team is definitely planning to maintain the EWS Managed API with ongoing updates - I'm not sure about the timeframe of the next one.
If you see odd issues or potential bugs please feel free to contact me. I'm happy to look into it.
In trying out your nifty EWS Editor I ran into a couple problems. First, a simple one, in the 'Request Response History', I overlooked the 'copy to clipboard' and tried to select the text and the editor crashed. But, most interesting and which I need to resolve, when I put this on our test environment machine, I got the following - Any ideas why this is happening consistently?
Unexpected end of XML document
Microsoft.Exchange.WebServices.Data.SoapFaultDetails.Parse()
Exception details:
Message: Unexpected end of XML document.
Type: Microsoft.Exchange.WebServices.Data.ServiceXmlDeserializationException
Source: Microsoft.Exchange.WebServices
Stack Trace:
at Microsoft.Exchange.WebServices.Data.EwsXmlReader.Read()
at Microsoft.Exchange.WebServices.Data.SoapFaultDetails.ParseDetailNode(EwsXmlReader reader)
at Microsoft.Exchange.WebServices.Data.SoapFaultDetails.Parse(EwsXmlReader reader, XmlNamespace soapNamespace)
at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.ReadSoapFault(EwsServiceXmlReader reader)
at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.ProcessWebException(WebException webException)
at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.InternalExecute()
at Microsoft.Exchange.WebServices.Data.MultiResponseServiceRequest`1.Execute()
at Microsoft.Exchange.WebServices.Data.ExchangeService.BindToFolder(FolderId folderId, PropertySet propertySet)
at Microsoft.Exchange.WebServices.Data.ExchangeService.BindToFolder[TFolder](FolderId folderId, PropertySet propertySet)
at EWSEditor.Forms.FolderTreeForm.AddRootFolderToTreeView(ExchangeService service, FolderId folderId, TreeNode parent) in D:\doozer\Forms\FolderTreeForm.cs:line 1063
at EWSEditor.Forms.FolderTreeForm.AddServiceToTreeView(ExchangeService service, Boolean offerRootFolder) in D:\doozer\Forms\FolderTreeForm.cs:line 1053
at EWSEditor.Forms.FolderTreeForm.NewExchangeServiceMenu_Click(Object sender, EventArgs e) in D:\doozer\Forms\FolderTreeForm.cs:line 358
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
with the history log having:
<EwsLogEntry EntryKind="EwsRequest" ThreadId="1" Timestamp="3/17/2010 6:19:52 PM">
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">">http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<t:RequestServerVersion Version="Exchange2007_SP1" />
<t:TimeZoneContext>
<t:TimeZoneDefinition Id="Pacific Standard Time" />
</t:TimeZoneContext>
</soap:Header>
<soap:Body>
<m:ConvertId DestinationFormat="HexEntryId">
<m:SourceIds>
<t:AlternateId Format="HexEntryId" Id="0000000096617852F5B7EB4AB5F65D9533EF521307001FB4996BD0186E4AB7646E17B7545DC6000003CA2A0C0000E3FE46B1E4F3204B834096FB7975E3B50024A9B7C5AC0000" Mailbox="blah@blah.com" />
</m:SourceIds>
</m:ConvertId>
</soap:Body>
</soap:Envelope>
</EwsLogEntry>
<EwsLogEntry EntryKind="EwsResponseHttpHeaders" ThreadId="1" Timestamp="3/17/2010 6:19:52 PM">200 OK
Content-Length: 1049
Cache-Control: private, max-age=0
Content-Type: text/xml; charset=utf-8
Date: Thu, 18 Mar 2010 01:19:52 GMT
Server: Microsoft-IIS/6.0
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
<EwsLogEntry EntryKind="EwsResponse" ThreadId="1" Timestamp="3/17/2010 6:19:52 PM">
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<t:ServerVersionInfo MajorVersion="8" MinorVersion="2" MajorBuildNumber="217" MinorBuildNumber="0" Version="Exchange2007_SP1" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" />
<m:ConvertIdResponse xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages">
<m:ResponseMessages>
<m:ConvertIdResponseMessage ResponseClass="Success">
<m:ResponseCode>NoError</m:ResponseCode>
<m:AlternateId xsi:type="t:AlternateIdType" Format="HexEntryId" Id="0000000096617852F5B7EB4AB5F65D9533EF521307001FB4996BD0186E4AB7646E17B7545DC6000003CA2A0C0000E3FE46B1E4F3204B834096FB7975E3B50024A9B7C5AC0000" Mailbox="blah@blah.com" />
</m:ConvertIdResponseMessage>
</m:ResponseMessages>
</m:ConvertIdResponse>
<EwsLogEntry EntryKind="EwsRequest" ThreadId="1" Timestamp="3/17/2010 6:19:59 PM">
<m:GetFolder>
<m:FolderShape>
<t:BaseShape>IdOnly</t:BaseShape>
<t:AdditionalProperties>
<t:FieldURI FieldURI="folder:DisplayName" />
<t:FieldURI FieldURI="folder:ChildFolderCount" />
</t:AdditionalProperties>
</m:FolderShape>
<m:FolderIds>
<t:DistinguishedFolderId Id="root" />
</m:FolderIds>
</m:GetFolder>
<EwsLogEntry EntryKind="EwsResponseHttpHeaders" ThreadId="1" Timestamp="3/17/2010 6:19:59 PM">500 Internal Server Error
Content-Length: 644
Cache-Control: private
Date: Thu, 18 Mar 2010 01:19:59 GMT
<EwsLogEntry EntryKind="EwsResponse" ThreadId="1" Timestamp="3/17/2010 6:19:59 PM">
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>System.Web.Services.Protocols.SoapException: An internal server error occurred.</faultstring>
<detail />
</soap:Fault>
What version of Exchange are you running when you see this ISE?