Click here to Skip to main content
Sign Up to vote bad
good
See more: C#EWS
Hi all,
 
I am making use of Exchange Web Services (Exchange version 2010). The problem is that I keep receiving the following exception:
 
Error in deserializing body of reply message for operation 'GetUserAvailability'.
The maximum nametable character count quota (16384) has been exceeded while reading XML data. 
 
I have checked this on Google and tried all the various methods to fix it without success. This included increasing the size of the various readerQuotas values (maxStringContentLength, maxArrayLength, etc.) in the client app config file. Confused | :confused:
 
When I make use of Fiddler I can see the correct data in the response, but the deserialization keeps crashing. Can anyone please point me in the right direction?
 
            BasicHttpBinding binding = new BasicHttpBinding();
            binding.Security.Mode = BasicHttpSecurityMode.Transport;
            binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Windows;
            binding.MaxReceivedMessageSize = 50000000;
            EndpointAddress endpoint = new EndpointAddress(new Uri("https://server/EWS/Exchange.asmx"));
            ExchangeServicePortTypeClient ews = new ExchangeServicePortTypeClient(binding, endpoint);
 
Many thanks in advance.
Kind regards,
Posted 16-Feb-10 0:02am
Programm3r10.6K


1 solution

Add the following code that appears in bold - solved my problem:
 
            BasicHttpBinding binding = new BasicHttpBinding();
            binding.Security.Mode = BasicHttpSecurityMode.Transport;
            binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Windows;
            binding.MaxReceivedMessageSize = 50000000;
            binding.ReaderQuotas.MaxArrayLength = 50000000;
            binding.ReaderQuotas.MaxStringContentLength = 50000000;
            binding.ReaderQuotas.MaxNameTableCharCount = 50000000;
            EndpointAddress endpoint = new EndpointAddress(new Uri("https://server/EWS/Exchange.asmx"));
            ExchangeServicePortTypeClient ews = new ExchangeServicePortTypeClient(binding, endpoint);
 
Kind regards,
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Your Filters
Interested
Ignored
     
0 Sergey Alexandrovich Kryukov 6,889
1 Prasad_Kulkarni 3,671
2 OriginalGriff 3,359
3 _Amy 3,312
4 CPallini 2,925


Advertise | Privacy | Mobile
Web01 | 2.6.130617.1 | Last Updated 16 Feb 2010
Copyright © CodeProject, 1999-2013
All Rights Reserved. Terms of Use
Layout: fixed | fluid