Problem: ServletExec loses my registration information after a restart


ServletExec loses my registration information after a restart.

When this problem occurs, most likely you will find IOExceptions in the ServletExec.log file.


This normally happens when ServletExec doesn't have read/write access to the ServletExec Data directory.

The XML.jar file installed and used by ServletExec conflicts with the jars used by the ArcIMS Servlet Connector. If the registration information is lost, then the Classpath.pref file will not have the previously entered values, assumed to be saved. Real problems won't show up until Authentication is used.

Solution or Workaround

1. Find the classpath.pref file and open it in a text editor. Update the properties manually.

C:\Program Files\New Atlanta\ServletExec ISAPI\classes
C:\Program Files\New Atlanta\ServletExec ISAPI\Servlets\jaxp.jar
C:\Program Files\New Atlanta\ServletExec ISAPI\Servlets\parser.jar

2. Provide read/write access to the ServletExec Data directory:
a. Browse to the ServletExec ISAPI directory in the ServletExec installation folder, for example, \Program Files\New Atlanta.

b. Right-click the ServletExec ISAPI directory and choose Properties.

c. Click the Security tab.

d. Click Add.

e. In the Look in dropdown list, choose your computer name.

f. Double click IUSR_<computer name> and click OK.

g. Highlight the user, Internet Guest Account(MYMACHINE\IUSR_<computer name>).

h. For Write access, choose Allow, and click OK.

i. Click the arrow in the IIS Manager toolbar to restart IIS.

This is also important for JSP pages. The java in the jsp pages are compiled inside the ServletExec directory, so it needs write access.

3. If ArcIMS Administrator doesn't work, find the servers.properties file and open it in WordPad.

The HTTP version in the line servletexec.http.version should be set to 1.0.


# This file contains the Servers Properties.
# servletexec.serial=encoded serial number
# servletexec.username=encoded admin username
# servletexec.password=encoded admin password
# servletexec.allow=allowed IP addresses
# servletexec.admin=enabled/disabled
# servletexec.useiisextmapping=true/false
# servletexec.http.version=HTTP version to send in response
# servletexec.<virtual server>.servlets=servlets directory
# servletexec.<virtual server>.root=root directory (MacOS only)
# servletexec.<virtual server>.username=encoded username
# servletexec.<virtual server>.password=encoded password
# servletexec.<virtual server>.allow=allowed IP addresses
# servletexec.<virtual server>.errorpage=the relative URL to return on error

servletexec.default.servlets=C\:\\Program Files\\New Atlanta\\ServletExec ISAPI\\Servlets\servletexec.default.username=WCNm

If servletexec.http.version was previously set to something other than 1.0, find and delete the esrimapCatalog.ser file.

Related Information