ConfigMgr 2012 Software Catalog error

While working on my ConfigMgr 2012 lab, I was trying to load the Application Catalog through the Internet Explorer browser (http://<servername>/CMApplicationCatalog) and I ran into the following error:

“Cannot connect to the application server.”

It continued to explain that The website cannot communicate with the server. This may be a temporary problem. Click the Retry action to submit your request again. If this problem continues, try again later, or view the “More Information” section to see details about the problem.

error1

Further investigation revealed that this is due to the WCF (Windows Communication Foundation) is not activated. An additional error: “Installation Failed: Error Code: 123” in SMSAWEBSVCSetup.log was discovered.

error3

This then led me to find out more on this WCF service. WCF is a component of .NET Framework. That immediately took me to check on the Server Manager console, under Features, under .NET Framework 3.5.1 Features on a 2008 OS (it is under .NET 4.0 on a Server 2012 OS). Simply select “WCF Activation” to install both the HTTP and Non-HTTP WCF Activation features. This prerequisite is mentioned at http://technet.microsoft.com/en-us/library/gg682077.aspx#BKMK_SupConfigSystemReqs under the sub-section titled “Prerequisites for Site System Roles”. Click “Add Required Services” when prompted. Wait a few moments for ConfigMgr 2012 to attempt another install of the Software Catalog component, and then try again, or if you’re impatient like I am, remove and re-add the role.

Next I was running into a “Server Error in /CMApplicationCatalog Application”.

error4

Reviewing the ServicePortalWebsite.log in SMS_CCM\CMApplicationCatalog\Logs I discovered the following 404 error on the Microsoft.ConfigurationManager.SoftwareCatalog.Website.ApplicationViewService.GetApplicationValuesForProperty. It was receiving an exception of “The remote server returned an error: (404) Not Found.”

error2

To fix this you need to enable/activate .NET 4.0. On a 64-bit computer that runs the .NET Framework version 4.0.30319, run the following command:

 %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe –i –enable
 This resolved both issues and all is now working well.
 If you’re having this issue on Windows Server 2012, make sure you enable both the .NET 3.5 and .NET 4.5 features (see iis-80-using-aspnet-35-and-aspnet-45)
 Hope this is helpful to someone!