Same problem for us as well, started 11 April 11:16 pm (UK time). The xml response Microsoft posts back does include some of the public folders, but then it breaks at the end of the file and returns an internal server error inside the xml document. This leads to the client app reporting an error "'<', hexadecimal value 0x3C, is an invalid attribute character. Line 1, position 6789." (because the xml response is malformed due to the internal server error) We raised a ticket with Microsoft yesterday and I showed an engineer the issue where it occurred in our code, also gave them our log files, including the request and responses, and public folder ids. Hopefully Microsoft will fix this soon as it's clearly a significant issue and is causing disruption across different businesses.
Exchange Web Services EWS "FindFolders" produces a 500 Internal Server Error in the response
Over the last few days, a call to FindFolders in the EWS API returns a 500 Server Error in the server response. The error always occurs in the last item returned by FindFolders. Here's an example response. I have omitted the previous t:Folder responses and truncated folder ids.
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:ServerVersionInfo MajorVersion="15" MinorVersion="20" MajorBuildNumber="6319" MinorBuildNumber="4" Version="V2018_01_08" xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</s:Header>
<s:Body>
<m:FindFolderResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<m:ResponseMessages>
<m:FindFolderResponseMessage ResponseClass="Success">
<m:ResponseCode>NoError</m:ResponseCode>
<m:RootFolder IndexedPagingOffset="14" TotalItemsInView="14" IncludesLastItemInRange="true">
<t:Folders>
<t:Folder>
<t:FolderId Id="AAEu..." ChangeKey="AQAA..."/>
<t:ParentFolderId Id="AQEu..." ChangeKey="AQAA..."/>
<t:FolderClass>IPF.Note</t:FolderClass>
<t:DisplayName>ZZ Test Emails</t:DisplayName>
<t:TotalCount>0</t:TotalCount>
<t:ChildFolderCount>1</t:ChildFolderCount>
<t:<?xml version="1.0" encoding="utf-8" ?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">*</Action>
</s:Header>
<s:Body>
<s:Fault>
<faultcode xmlns:a="http://schemas.microsoft.com/exchange/services/2006/types">a:ErrorInternalServerError</faultcode>
<faultstring xml:lang="en-US">An internal server error occurred. The operation failed.</faultstring>
<detail>
<e:ResponseCode xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">ErrorInternalServerError</e:ResponseCode>
<e:Message xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">An internal server error occurred. The operation failed.</e:Message>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
We use EWS through the EWS Managed API and this causes an error processing the XML response from the server:
System.Xml.XmlException: ''<', hexadecimal value 0x3C, is an invalid attribute character. Line 1, position 926.'
I have tried doing things like reducing the number of items returned by the FolderView, but the error always occurs in the last item in the FindFinderResults. It essentially looks like it's trying to read beyond 'EOF' and subsequently an (I guess) unhandled error occurs.
An issue has been opened up on the GitHub for the EWS Managed API, but as the root error seems to be on the EWS side I guess this is the best place to get it noticed.
It looks like this issue was already reported here, but thought it might be best to start a new thread as the existing one was more of a question than a problem report.
If there's a more appropriate place to raise this issue please let me know.
Thank you! :)
4 answers
Sort by: Most helpful
-
-
Cyberghis 0 Reputation points
2023-04-14T20:14:48.08+00:00 Update: I had the same problem this morning. Now I have a response from EWS: So still not working...
<?xml version="1.0" encoding="utf-8"?> <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body> <s:Fault> <faultcode xmlns:a="http://schemas.microsoft.com/exchange/services/2006/types">a:ErrorExceededConnectionCount </faultcode> <faultstring xml:lang="en-US">You have exceeded the available concurrent connections for your account. Try again once your other requests have completed.</faultstring> <detail> <e:ResponseCode xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">ErrorExceededConnectionCount </e:ResponseCode> <e:Message xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">You have exceeded the available concurrent connections for your account. Try again once your other requests have completed. </e:Message> <t:MessageXml xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"> <t:Value Name="Policy">MaxConcurrency</t:Value> <t:Value Name="MaxConcurrencyLimit">27</t:Value> <t:Value Name="ErrorMessage">This operation exceeds the throttling budget for policy part 'MaxConcurrency', policy value '27', Budget type: 'Ews'. Suggested backoff time 0 ms.</t:Value> </t:MessageXml> </detail> </s:Fault> </s:Body> </s:Envelope>
-
Cyberghis 0 Reputation points
2023-04-17T14:02:26.59+00:00 Update: Back to normal this morning for me.
-
ReMED Services Orders 0 Reputation points
2024-01-10T16:04:10.6366667+00:00 I'm having a sudden bug with FindFolders as of recent. I have no changes to my code however recently this line is throwing an error. (I'm dependent on this line, so any advise is much appreciated!)
var ewsClient = new ExchangeService();
ewsClient.Url = new Uri("https://outlook.office365.com/EWS/Exchange.asmx");
ewsClient.Credentials = new OAuthCredentials(authResult.AccessToken);
ewsClient.ImpersonatedUserId =
new ImpersonatedUserId(ConnectingIdType.SmtpAddress, mailbox);//Include x-anchormailbox header
ewsClient.HttpHeaders.Add("X-AnchorMailbox", mailbox);var folders = ewsClient.FindFolders(WellKnownFolderName.Inbox, new FolderView(10));
This last line throws an error:
Specified value has invalid HTTP Header characters.
Parameter name: nameThank you for helping me with this!