Exposing Web Services in CIC

Soap Listener is one of those products which is not talked about a lot but is one of the easiest ways to bring up a web service which talks to CIC. It runs as an ISAPI filter in IIS, filtering requests as they come in giving us ability to enhance the functionality of IIS.
My environment uses Windows 2008 64bit running IIS 7 and it requires some additional tasks so we will talk a bit about installation in this post. In a series of posts, we will bring up a web service and get it to do something useful.

To get started with the installation, we need to enable IIS 6 Metabase Compatibility for IIS. This is so that the Soap Listener installer can configure various properties for the ISAPI module.

Once IIS has been installed, we can start installing the soap listener. One of the pieces of information that the installer asks for is configuration information for ISAPI filter.

I usually set it to 60,100 and 128 for the parameters but these can always be tweaked by adjusting the values in the registry. The parameters are written in the HKEY_LOCAL_MACHINESoftwareWow6332NodeInteractive IntelligenceISAPI Soap ListenerConfig location in a 64bit OS. We now have the soap listener installed but there are still couple of things we need to do before it can be used.

First, we need to add a mapping handler so that the soap listener can intercept the soap requests. Without it, the server will throw a HTTP 405 error.

The installer will create an application pool for us. On a 64bit system, we need to make sure that we enable 32bit applications.

That is all we need to do in IIS. We need to setup our Certificates so that the ISAPI filter can communicate with the CIC Server. Add a key called ‘Certificates’ under the Interactive Intelligence node in the registry and give it a REG_SZ name of ‘Path’. Path contains the location of your certificates folder.

Next, we move the contents of the SOAP Listener folder to the BIN folder. Due to an issue with the installer, the ISAPI filter libraries get installed in the main folder. We can now create the certificates for communicating with CIC by issuing the following command:

GenSSLCertsU.exe –r <cicserver> <cicuser> <cicpassword>

The certificates are generated and once ‘Trusted’ in CIC, we need to assign permission to the certificates folder so that the filter can access it. Add the user ‘IUSR’ to the certificates folder and give it modify privileges.

Last thing we need to do is issue a ‘iisreset’ on the command line and we are done. Next post, we will create a web service which will accept a request and send a response back with some data. Until then, have a good day and let me know if there are any topics you would like me to cover or have questions about what we talked about in this post.


Anish Sharma

Anish Sharma

I joined Interactive Intelligence in July, 2011. Prior to that, I worked with an Elite partner for 11 years. Over the years, I worked with various products from Interactive Intelligence, including support, implementation and development. A self-confessed geek, I enjoy taking things apart and figuring how it works. One of my passions is photography and I have a personal photo blog.