NullReferenceException in DefaultWsdlHelpGenerator
I got this nasty error today when deploying a web service to a new server:
Server Error in '/' Application.
Object reference not set to an instance of an object.
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.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
Line 1201:
Line 1202: OperationBinding FindHttpBinding(string verb) {
Line 1203: foreach (ServiceDescription description in serviceDescriptions) {
Line 1204: foreach (Binding binding in description.Bindings) {
Line 1205: HttpBinding httpBinding = (HttpBinding)binding.Extensions.Find(typeof(HttpBinding));Source File: c:\windows\microsoft.net\framework\v1.1.4322\Config\DefaultWsdlHelpGenerator.aspx Line: 1203
Stack Trace:
[NullReferenceException: Object reference not set to an instance of an object.]
ASP.DefaultWsdlHelpGenerator_aspx.FindHttpBinding(String verb) in c:\windows\microsoft.net\framework\v1.1.4322\Config\DefaultWsdlHelpGenerator.aspx:1203
ASP.DefaultWsdlHelpGenerator_aspx.get_HttpPostOperationBinding() in c:\windows\microsoft.net\framework\v1.1.4322\Config\DefaultWsdlHelpGenerator.aspx:441
ASP.DefaultWsdlHelpGenerator_aspx.get_ShowingHttpPost() in c:\windows\microsoft.net\framework\v1.1.4322\Config\DefaultWsdlHelpGenerator.aspx:456
ASP.DefaultWsdlHelpGenerator_aspx.__Render__control13(HtmlTextWriter __output, Control parameterContainer) in c:\windows\microsoft.net\framework\v1.1.4322\Config\DefaultWsdlHelpGenerator.aspx:1435
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +27
System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer) +29
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +243
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +72
System.Web.UI.Control.Render(HtmlTextWriter writer) +7
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +243
System.Web.UI.Page.ProcessRequestMain() +1929Version Information: Microsoft .NET Framework Version:1.1.4322.573; ASP.NET Version:1.1.4322.573
The problem was that autoEventWireup was disabled in machine.config. DefaultWsdlHelpGenerator.aspx bombs as it requires the autoEventWireup to be true. You can fix it by adding the following to Web.Config in the site that hosts the web service:
<configuration>
<system.web>
<pages autoEventWireup="true" />
</system.web>
</configuration>