Application Catalog Uncovered
In Configuration Manager 2012 the application catalog also ships with a web service. In this post we explore the methods available in the web service and how you can use them in your own applications.
First of all if you try navigating to the web service definition (at: http[s]://CMApplicationCatalog/ApplicationViewService.asmx) you should be presented with the following screen.
- <Drive>:\Program Files\SMS_CCM\CMApplicationCatalog
If you copy the web.config file incase anything goes wrong then open the live copy and look for the line <remove name=”Documentation” />. Once you have located this line (which should be in the <protocols> element), delete it.
When you have saved and closed the file, go back to your Internet Explorer window and refresh the page, you should then be presented with a list of available methods in the web service. In here you will find the following methods (ConfigMgr 2012 SP1):
You may also like to know that you can view the WSDL service description for the web service by appending ?WSDL to the end of the URL.
A lot of the feedback I have heard about Configuration Manager 2012 is the lack of extensibility for the application catalog. I have always shown people this method, which in the right hands of your software developers could be turned into a custom in house application without the need for lots of custom code. You can wrap this process around a proper approvals process however you can do the same thing very easily using the Application Approval Workflow along with System Center 2012 Orchestrator and System Center 2012 Service Manager.
So as you can see, we can see what is happening here, as well as this you can look at the code behind the built-in website which you will find in one of the directories listed above.
You can also call the web service in any flavour of programming language such as C#, VB.NET, PHP, C++ and many others including PowerShell using the New-WebServiceProxy cmdlet.
Once you have finished with the reference to the web service, make sure you replace the line in the web.config file for security. Happy coding!