How to install the EToN web service for version 14.10 with IIS 7 for Confirm

Products affected: Confirm® v14.1x
Product features: EToN/Street Works
How to install the EToN web service for version 14.10 with IIS 7 for Confirm®:


Microsoft .NET Framework 3.5 SP1
Microsoft .NET Framework 4.0
Microsoft Visual C++ 2010 Redistributable Package (x86)
Oracle or SQL Server Database client drivers (not supplied on Confirm Media)
Configured IIS with basic modules installed
EToN web service folder copied in the IIS server.

Installation Steps:

  • Take a backup of your existing web.config file and the contents of the 'XMLFiles’ folder.
  •  Extract the file, from the Confirm media, to a local directory on your IIS server, replacing any previous versions.
The Web Service is now provided twice as two identical files:
EToN4WebService.asmx and EToN.asmx.

The EToN4WebService.asmx file is provided for backwards compatibility with existing Confirm deployments, and EToN.asmx is the new filename, that will insulate users from future name changes as EToN versions advance. Both files will be installed in the Web Service directory.
  • With IIS 7 the standard permissions for Application Pools have changed and there is now a Managed Pipeline value associated with each Application Pool. The DefaultAppPool is configured to use .Net Framework v2.0 but the current deployment of the EToNWebService is written to work with v4.0. As a result using the DefaultAppPool (at its default configuration) for the EToNWebService will fail and the web service will be unable to create the XML folders or create trace.log files. Follow the steps below to create a new Application Pool:
  • Create a Virtual Directory or Application:
1.       In Server Manager, select the IIS Role on the left pane (if this is not available then your server is not yet configured as an IIS server).
2.       In the Connections Panel right click Application Pools and select Add Application Pool. Configure the application according to the below screenshot:
 User-added image
3.       Right-click your newly created application pool and select Advanced Settings.
4.       In the 'Process Model’ section change the Identity to Network Service then click OK.
  • Create a Virtual Directory or Application:
1.       In the 'Connections Panel' right-click the Default Web Site then click Add Application. Fill all the details as per the below screenshot and click OK:
User-added image
  • Web Service Configuration Settings:
1.       Go to the application created in the previous step and in the Features view, click Connection Strings. Create a custom connection string as below:

User-added image
2.       Now go to Application Settings in the Features view and complete all the entries as per the below screenshot:

User-added image

3.       Select the Database Instance that you created in the above step. The username must be set to a current Confirm user account created within Confirm. In this case you can work with the username highways and password "highways".
4.       All the other options are not mandatory and you can configure them as required.
  • Check if the web service is working:
1.       Click on the application above and go to Content view. There you will see the ASP.NET web service. Right-click on EToN.asmx web service and select Browse.
2.       In my case I was getting the below error when I tried browsing the web service manually:

 "HTTP Error 500.21, Internal Server error
Handler "WebServiceHandlerFactory-Integrated" has a bad module "ManagedPipelineHandler" in its module list"

This is often caused because the .NET 4.0 framework is not registered properly.  Even though it may be installed. To resolve the issue register the .NET 4.0 Framework. See:

Resolve HTTP Error 500.21 "bad module "ManagedPipelineHandler" in its module list" while setting up EToN web service for Confirm

3.    If you receive the error below:

"Could not load file or assembly 'MapInfo.Confirm.Analytic.Google' or one of its  dependencies. An attempt was made to load a program with an incorrect format."
... while running the site in IIS 7+ on 64bit servers, you may have assemblies that are 32bit and your Application Pool having the option 'Enable 32-Bit Applications' set to False; Set this to True and restart the site.
UPDATED:  October 31, 2017