Strange error in treeclientservice.asmx crashing backend
I am hoping someone might be able to help me with this issue as I'm running out of ideas.
This morning all of the content trees in the Umbraco backend disappeared. The site still works and users can login to the backend but all of the content trees (Content,Media,Settings,Developer etc.) are empty whitespace.
Using Fiddler I think I tracked the issue down to:
umbraco/webservices/treeclientservice.asmx
which is causing a 500 error with the below exception and stack trace. The issue seems to be around reflecting TreeClientService.GetInitAppTreeData or XML serialisation.
As far as I can tell no changes have been made to the CMS between yesterday and today other than content.
Any ideas or assistance would be greatly appreciated.
Thanks in advance.
--
Server Error in '/' Application.
The type System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] is not supported because it implements IDictionary.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NotSupportedException: The type System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] is not supported because it implements IDictionary.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
I ran into the same error. What caused the error is making a rule in the IIS URL Rewrite module to make every URL lowercase. It seems that the webservices are case sensitive.
Strange error in treeclientservice.asmx crashing backend
I am hoping someone might be able to help me with this issue as I'm running out of ideas.
This morning all of the content trees in the Umbraco backend disappeared. The site still works and users can login to the backend but all of the content trees (Content,Media,Settings,Developer etc.) are empty whitespace.
Using Fiddler I think I tracked the issue down to:
umbraco/webservices/treeclientservice.asmx
which is causing a 500 error with the below exception and stack trace. The issue seems to be around reflecting TreeClientService.GetInitAppTreeData or XML serialisation.
As far as I can tell no changes have been made to the CMS between yesterday and today other than content.
Any ideas or assistance would be greatly appreciated.
Thanks in advance.
--
Server Error in '/' Application.
The type System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] is not supported because it implements IDictionary.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NotSupportedException: The type System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] is not supported because it implements IDictionary.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[NotSupportedException: The type System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] is not supported because it implements IDictionary.]
System.Xml.Serialization.TypeScope.GetDefaultIndexer(Type type, String memberInfo) +1487842
System.Xml.Serialization.TypeScope.GetCollectionElementType(Type type, String memberInfo) +40
System.Xml.Serialization.TypeScope.ImportTypeDesc(Type type, MemberInfo memberInfo, Boolean directReference) +5145319
System.Xml.Serialization.TypeScope.GetTypeDesc(Type type, MemberInfo source, Boolean directReference, Boolean throwOnError) +263
System.Xml.Serialization.XmlReflectionImporter.ImportMemberMapping(XmlReflectionMember xmlReflectionMember, String ns, XmlReflectionMember[] xmlReflectionMembers, Boolean rpc, Boolean openModel, RecursionLimiter limiter) +100
System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(XmlReflectionMember[] xmlReflectionMembers, String ns, Boolean hasWrapperElement, Boolean rpc, Boolean openModel, RecursionLimiter limiter) +452
[InvalidOperationException: There was an error reflecting 'GetInitAppTreeDataResult'.]
System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(XmlReflectionMember[] xmlReflectionMembers, String ns, Boolean hasWrapperElement, Boolean rpc, Boolean openModel, RecursionLimiter limiter) +5118614
System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(String elementName, String ns, XmlReflectionMember[] members, Boolean hasWrapperElement, Boolean rpc, Boolean openModel, XmlMappingAccess access) +289
System.Web.Services.Protocols.SoapReflector.ImportMembersMapping(XmlReflectionImporter xmlImporter, SoapReflectionImporter soapImporter, Boolean serviceDefaultIsEncoded, Boolean rpc, SoapBindingUse use, SoapParameterStyle paramStyle, String elementName, String elementNamespace, Boolean nsIsDefault, XmlReflectionMember[] members, Boolean validate, Boolean openModel, String key, Boolean writeAccess) +175
System.Web.Services.Protocols.SoapReflector.ReflectMethod(LogicalMethodInfo methodInfo, Boolean client, XmlReflectionImporter xmlImporter, SoapReflectionImporter soapImporter, String defaultNs) +3289
[InvalidOperationException: Method TreeClientService.GetInitAppTreeData can not be reflected.]
System.Web.Services.Protocols.SoapReflector.ReflectMethod(LogicalMethodInfo methodInfo, Boolean client, XmlReflectionImporter xmlImporter, SoapReflectionImporter soapImporter, String defaultNs) +1768860
System.Web.Services.Description.SoapProtocolReflector.ReflectMethod() +188
System.Web.Services.Description.ProtocolReflector.ReflectBinding(ReflectedBinding reflectedBinding) +1613
System.Web.Services.Description.ProtocolReflector.Reflect() +737
System.Web.Services.Description.ServiceDescriptionReflector.ReflectInternal(ProtocolReflector[] reflectors) +587
System.Web.Services.Description.ServiceDescriptionReflector.Reflect(Type type, String url) +149
System.Web.Services.Protocols.DocumentationServerType..ctor(Type type, String uri) +196
System.Web.Services.Protocols.DocumentationServerProtocol.Initialize() +322
System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing) +160
[InvalidOperationException: Unable to handle request.]
System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing) +802380
System.Web.Services.Protocols.WebServiceHandlerFactory.CoreGetHandler(Type type, HttpContext context, HttpRequest request, HttpResponse response) +302
[InvalidOperationException: Failed to handle request.]
System.Web.Services.Protocols.WebServiceHandlerFactory.CoreGetHandler(Type type, HttpContext context, HttpRequest request, HttpResponse response) +731048
System.Web.Services.Protocols.WebServiceHandlerFactory.GetHandler(HttpContext context, String verb, String url, String filePath) +308
System.Web.Script.Services.ScriptHandlerFactory.GetHandler(HttpContext context, String requestType, String url, String pathTranslated) +89
System.Web.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +490
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +375
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1
For the benefit of anyone coming across this from Google or otherwise...
After several hours I tracked this down bizarrely to a rewite URL. The problem went away as soon as the rule was commented out in web.config.
If you get an error similar to this try disabling any rewrite rules, it might help.
I ran into the same error. What caused the error is making a rule in the IIS URL Rewrite module to make every URL lowercase. It seems that the webservices are case sensitive.
removing the lowercase url redirect solved my problem, thanks
is working on a reply...