Rebuilding a Web Application in SharePoint Central Admin (Data Non-destructive)

The Problem(s)

I recently came across a situation where using SharePoint Designer 2010, I was unable to connect to my server. A second symptom of (what I believe to be) the same issue, was that I was unable to add a new user as a member to a site-collection, other than the root site collection within a web app (i.e. A sub-site collection). Other weird symptoms were showing up as well, but I didn’t document them. In SharePoint Designer, the error message was as follows.

The server could not complete your request. The content type of the response is “”.

I tried to see if the issue at this blog (http://mrhodes.net/2010/03/30/sharepoint-designer-2010-the-server-could-not-complete-your-request-the-content-type-of-the-response-is-8/) matched to my problem, but it didn’t really fit. The situation for my circumstances happened to be a single WFE server farm machine, with SSL, and only one web application – there was no IIS customization done whatsoever.

Given that I was seeing multiple symptoms, I decided to take a different path. I tried using SharePoint designer on the WFE server box itself, and found that in fact that worked when connecting to the machine (the server was named SERVER-X, with a web application named site.company.com and connecting SharePoint Designer on SERVER-X to http://SERVER-X – instead of http://site.company.com – worked). So this was a temporary work around, but it didn’t solve my second problem at all.

Since I could get SharePoint Designer working locally, and I was seeing other symptoms consistent with a potentially messed up set of web application configuration settings, I decided to take the bold move of rebuilding the web application. The act of rebuilding the web application does not destroy the data for a web application (if you do it correctly), but it is a good way to clean up your configuration.

Rebuilding a Web Application

Prior to starting the actual process, we’ll need to gather a couple of pieces of information. First off, we need to get the database name of the web application we’re using. You can do this by going into SQL Server Management Studio. Take note of the server name, and the database name.

Other pieces of information you’ll need to know are;

  1. What is your connection information to the SQL server (Windows authentication or SQL authentication)?
  2. Are you using classic or claims based authentication?
  3. Are you using a port on your web application (other than the default of 80)?
  4. What security mechanism you’re using – Kerberos vs. NTLM, Anonymous allowed, SSL enabled?
  5. Are you using a failover server?
  6. Do you have any Service Application Connections?

    Service Connection information can be found here.

    These are the default settings (no customizations).

My instance is fairly vanilla, as we’re using classic authentication on port 80, with NTLM (no SSL), no failover and no special connections. We also will be creating a new app pool.

To start the actual rebuild of the web app, go into SharePoint Central Administration, and select Manage Web Applications under Application Management.

Next, choose your web application (1), and select the fly out on the delete button (2), and choose “Delete Web Application”.

Note: Take note of the name of the web application for when we rebuild it later (likely something along the lines of site.company.com).

Next, and this is the key to not destroying your data, but simply cleaning up the messed up settings, is to select “No” to “Delete content databases”. However, we do want to delete the IIS web sites, so choose “Yes” to this. Then choose “Delete”.

It’s good that SharePoint ensures we’re sane here…

Next jump back into the Manage Web Application page and choose New.

The wizard that pops up is quite long, but asks some important questions – hopefully you properly collected the information earlier, so you can now successfully recreate your Web Application.

If you entered everything correctly, you should see the following message.

If you happen to come across the error message, “Value cannot be null. Parameter name: sid”, this is because you’re not creating a new application pool and are trying to reuse the “DefaultAppPool” or the “Classic .Net AppPool”. See this URL for details http://social.technet.microsoft.com/Forums/en-US/sharepoint2010setup/thread/1a6e1658-c5a1-4a56-bb11-8d3c58931227.

In my case, doing the steps above solved my problems with not being able to connect SharePoint Designer 2010 to my server, and also with not being able to add a new user to a sub-site collection. Also, this was a non-destructive way to reset all of your IIS settings back to their appropriate SharePoint defaults.