none
Project server API UpdateLookupTables throws QoutaexceededExceptionOccured: The size necessary to buffer the XML content exceeded the buffer quota. RRS feed

  • Question

  • I have a call to the Lookuptable update api like below

     try
                    {
                        WcfHelpers.UseCorrectHeaders(isImpersonated);
                        lookupTableClient.CheckOutLookupTables(new Guid[] {new Guid("00008e67-65a3-4898-baaa-d82d995bbb02") });
                        lookupTableClient.UpdateLookupTables(lookupTableDataSet, false, false, 1033);
                    }
                    catch (Exception ex)
                    {
                    }

    The issue is when I have around 1600 records in the LookupTableTrees Table to add and then call the update method an exception is thrown  like this QoutaexceededExceptionOccured: The size necessary to buffer the XML content exceeded the buffer quota.I tried setting alll buffer sizes to max size which dint help. Please see the max values settings below. Any help here is highly appreciated.

                                    

                    if (isHttps)
                    {
                        // Create a binding for HTTPS.
                        binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);
                    }
                    else
                    {
                        // Create a binding for HTTP.
                        binding = new BasicHttpBinding(BasicHttpSecurityMode.TransportCredentialOnly);
                    }

                    binding.Name = "basicHttpConf";
                    binding.MessageEncoding = WSMessageEncoding.Text;

                    binding.CloseTimeout = new TimeSpan(00, 05, 00);
                    binding.OpenTimeout = new TimeSpan(00, 05, 00);
                    binding.ReceiveTimeout = new TimeSpan(00, 05, 00);
                    binding.SendTimeout = new TimeSpan(00, 05, 00);
                    binding.TextEncoding = System.Text.Encoding.UTF8;

                    // If the TransferMode is buffered, the MaxBufferSize and 
                    // MaxReceived MessageSize must be the same value.
                    binding.TransferMode = TransferMode.Buffered;
                    binding.MaxBufferSize = MAXSIZE;
                    binding.MaxReceivedMessageSize = MAXSIZE;
                    binding.MaxBufferPoolSize = MAXSIZE;


                    binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Ntlm;
                    binding.GetType().GetProperty("ReaderQuotas").SetValue(binding, XmlDictionaryReaderQuotas.Max, null);

    Monday, March 18, 2013 3:06 PM