OpsMgr 2007: Reporting console returns error "Client found response content type of 'text/html', but expected 'text/xml'"

Here's an interesting one I came across that I think you'll find interesting.  This one covers a message you may get if you're using the 64-bit version of Windows Server 2003:

========

Issue: When you open the System Center Operations Manager 2007 reporting console you may get the below error.

System.InvalidOperationException: Client found response content type of 'text/html', but expected 'text/xml'.
The request failed with the error message:
--
<html><head><title>Error</title></head><body>%1 is not a valid Win32 application.
</body></html>
--.
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at Microsoft.EnterpriseManagement.Mom.Internal.UI.Reporting.ReportingService.ReportingService2005.ListChildren(String Item, Boolean Recursive)
at Microsoft.EnterpriseManagement.Mom.Internal.UI.Reporting.ManagementGroupReportFolder.GetSubfolders(Boolean includeHidden)
at Microsoft.EnterpriseManagement.Mom.Internal.UI.Reporting.WunderBar.ReportingPage.LoadReportingSubtree(TreeNode node, ManagementGroupReportFolder folder)
at Microsoft.EnterpriseManagement.Mom.Internal.UI.Reporting.WunderBar.ReportingPage.LoadReportingTree(ManagementGroupReportFolder folder)
at Microsoft.EnterpriseManagement.Mom.Internal.UI.Reporting.WunderBar.ReportingPage.LoadReportingTreeJob(Object sender, ConsoleJobEventArgs args)

You may also see the below error when you try to connect to reporting services using SQL server management studio:

Cannot connect to MGTOOLSDC

Additional information:

Client found response content type of "test/html", but expected "text/xml".
The request failed with the error message:
<html><head><title>Error</title></head><body>%1 is not a valid Win32 application.
</body></html>
(Microsoft.SqlServer.Management.UI.RSClient)

Cause: This problem can occur on 64-bit Windows Server 2003 if Microsoft Internet Information Services (IIS) 6.0 is configured to start a 32-bit worker processes (W3wp.exe). A 32-bit worker process enables WOW64 compatibility for 32-bit Web applications on a server that runs a 64-bit version of Windows Server 2003.  This configuration option is controlled by the Enable32bitAppOnWin64 metabase property.

Resolution: First verify that Enable32bitAppOn64 is enabled.  To do this, open command prompt, traverse down to C:\Inetpub\Adminscripts and execute the below query:

C:\Inetpub\Adminscripts>cscript adsutil.vbs find Enable32BitAppOnWin64

If enabled the output should look like: "Property Enable32BitAppOnWin64 found at:W3SVC/AppPools"

To resolve the above error, disable 32-bit mode and install the 64-bit version of ASP.NET 2.0:

1.  Click Start, click Run, type cmd, and then click OK.   
2.  Type the following command to disable the 32-bit mode:

cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0

3.  Type the following command to install the 64-bit version of ASP.NET 2.0 and to install the script maps at the IIS root: 

%SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i    

4.    Make sure that the status of ASP.NET version 2.0.50727 is set to Allowed in the Web service extension list in Internet Information Services Manager.   

Note: The build version of ASP.NET 2.0 may differ depending on what the currently released build version is. These steps are for build version 2.0.50727.

========

Hope this helps!

J.C. Hornbeck | Manageability Knowledge Engineer