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 (https://<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.
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.
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 https://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”.
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.”
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!