Developer Documentation Library > Configuration and customization > Web configuration files > Web service configuration
 
Web service configuration
The Web.config file for the Web Service is in the following folder:
[INSTALL_FOLDER]\IBM\SPSS\DataCollection\<version>\Interviewer Server\Server\mrIWeb
Settings
AllowXHTMLParameters
False: All URL parameters and the fields of the authentication page are checked to see if they contain any HTML markup or script. If any HTML is found, it is escaped, so that the markup displays as text if it is ever redisplayed in an HTML page.
True: The URL parameters and the fields of the authentication page are not checked; they might contain XHTML.
Default: False
BrowserCapabilities
When enabled, instructs the Web service to generate and pass the BrowserCapabilities string to the Interview Tier.
When disabled, instructs the Web service to not generate and pass the BrowserCapabilities string to the Interview Tier.
Default: Enabled
CreateInterviewResponseTimeWarningThreshold
Add a value in milliseconds to create a warning log message when the threshold for the event is exceeded.
Format:
-P<ProjectName> -R<ActualResponseTime> -I<InterviewId> Response threshold exceeded: <EngineName>,CreateInterviewWithAuthentication
Default: -1 (no warning message is created)
CreateInterviewWithAuthenticationTimeout
The number of seconds to wait before calling the CreateInterviewWithAuthentication web service for an active session engine
Default: ""
Doctype
The HTML Doctype to use in the rendered HTML page. If a Doctype is not specified, the XHTML (Transitional) Doctype is used. The default Doctype when rendering the HTML page is:
<!Doctype html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
To define a custom Doctype, you can replace the special characters with HTML entity codes. For example, you can change the default Doctype in the Web.config file to:
&lt;!Doctype html
PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
Default: ""
EngineMaxRetries
The maximum number of retries before an interviewer session engine is considered unavailable.
Default: 6
EngineRetryTimeout
The number of minutes to wait before retrying a failed interviewer session engine. Retries are not attempted if there is no activity on the cluster.
Default: 5
HTMLOptions
One or more of the following HTML options for the rendered HTML. Multiple options can be specified using a comma-delimited list.
ApplySubTemplatesInGrids: Enables and disables the effects of sub-templates in grid and loop questions.
ApplySubTemplatesInNestedBlocks: Question sub-templates are applied to questions in nested blocks.
NoExpiryMetaTags: Exclude the following meta tags from the rendered HTML:
<meta http-equiv="Expires" content="-1"/>
<meta http-equiv="Pragma" content="no-cache"/>
WebTVSupport: Make the rendered HTML compatible with WebTV browsers.
NoAutoJump: suppress automatic jump to next question when a single-choice answer is selected (the user must select an answer and then press Enter).
UseGlobalTemplates: Whether to search for templates from the global location before checking the project location. The default value is False.
UsePredefinedKeyCodes: Use predefined key codes for CATI Player questions.
UseTablesLayout: Use table layout for single row/column category lists. This setting effectively reverts HTML rendering to pre-UNICOM Intelligence 6 behavior.
ImageLocation
The relative path to the folder from which images should be retrieved if the image cache is not being used (UseImageCache is False; see UseImageCache).
Default: Images
ImageCacheURL
The URL for the image cache. This setting is used only if the image cache is used (UseImageCache is True; see UseImageCache). The settings support both full and relative URLs.
Full URL:
<appSettings>
  <add key="ImageCacheURL" value="http://WebServer/SPSSMR/ImageCache/ImageCache.aspx"/>
</appSettings>
Relative URL:
<appSettings>
  <add key="ImageCacheURL" value="../ImageCache/ImageCache.aspx" />
</appSettings>
Default: The default is based on the incoming URL. This is useful in scenarios where local testing requires http and a local server name while external use requires https and a domain‑based name. The default is:
%1/SPSSMR/ImageCache/ImageCache.aspx
The substitution is based on the incoming URL. The incoming URL is used to specify http or https; the server identification; and a port number, if required.
ImageCacheUsePaths
In some cases, files must be referenced using paths or relative paths. This can be particularly useful to include .css files when mrRef and mrSharedRef cannot be used. When ImageCacheUsePaths is set to true, you can use references like this:
background-image: url('Image1.png')
background-image: url('../../images/Image1.png')
The working directory for these files is the folder where the file with the reference is; in this example, the .css file. This might be the Project folder or the Shared folder as specified by the BASE_LOCATION or SHARED_LOCATION in the ImageCache Web.config.
To support this, set ImageCacheUsePaths to true.
<appSettings>
  <add key="ImageCacheUsePaths" value=true/>
</appSettings>
Setting this value does not negatively impact performance. It is not set by default, to support backward compatibility.
InterviewReview
This setting has been replaced by the Review Interviews activity.
Determines whether interviews can be reviewed (specifically, enables or disables the use of the Review and Serial parameters):
Enabled: Completed interviews can be reviewed.
Disabled: Completed interviews cannot be reviewed.
Default: Disabled
IsActiveFailedEngineTimeout
The number of seconds to wait before calling the IsActive web service for a failed session engine.
Default: 2
IsActiveTimeout
The number of seconds to wait before calling the IsActive web service for a registered session engine.
Default: 3
LocalImageCacheURL
The local URL for the image cache. Used if the server and client use different URLs to access the image cache.
Default: ImageCacheURL setting
Mode
The UNICOM Intelligence Interviewer Web configuration for running interviews:
SingleServer: The session engine is created in-process to IIS. The session engine registration web service is not available.
Distributed: The web and interview tiers are distributed. This is the required setting for telephone interviewing.
If the Web and Interviewing tiers are running on a single server and you are not running telephone interviews, performance might be better if you use SingleServer mode.
Default: Distributed
PageExpiryTimeout
Specifies the number of minutes until the page expires. The default value of -1 indicates that the page will expire immediately and that a no-cache pragma will be added. If set to any other value, the Expires and Pragma: no-cache metadata tags are not added to the HTML page, and an appropriate Expires header value is added to the HTTP response.
The PageExpiryTimeout value should normally be set to-1, and the NoExpiryMetaTags HTML option should not be used. Interview pages are dynamically generated and the settings prevent HTTP proxies from attempting to cache interview pages. However, when the HTTPS protocol is used, HTTP proxies do not cache responses. Browsers will also not cache responses when no-cache and expires=-1 are specified. Defining PageExpiryTimeout adds an Expires header to the response, which allows the browser to cache pages for a limited length of time. This caching activity allows respondents to use the forward and back browser navigation features (the HTTP proxy will not cache because the HTTP protocol is used).
Default: -1
PercentLoadedTimeout
The number of seconds to wait before calling the PercentLoaded web service for an active session engine.
Default: 5
PostInterviewEventResponseTimeWarningThreshold
Add a value in milliseconds to create a warning log message when the threshold for the event is exceeded.
Format:
-P<ProjectName> -R<ActualResponseTime> -I<InterviewId> Response threshold exceeded: <EngineName>,PostInterviewEvent,<SavePointName>
Default: -1 (no warning is recorded)
PostInterviewEventTimeout
The number of seconds to wait before calling the PostInterviewEvent web service for an active session engine.
Default: 60
RegisteredEngines
Names interviewer session engines for automatic reregistration whenever the Interviewing Service starts. Names must be enclosed in single quotation marks and separated with commas. See Session engine registration for more information.
Default: ""
RegistrationPW
The password used to register session engines with mrInterviewWeb.
Default: mrIWeb
RegistrationWS
Enables or disables the session engine registration web service:
Enabled: The web service is enabled.
Disabled: The web service is disabled.
Default: Enabled
ServerVariables
When enabled, the Web service generates and passes the server variables information to the interview tier. This information is available to the interview script as IOM.Info.ServerVariables.
When not enabled, the Web service does not generate the server variables information, and does not pass it to the interview tier.
Default: Enabled
ServerVariablesList
A list of server variables, that overrides default list: see IOM.Info.ServerVariables.
You can specify:
any of the IIS server variables (see https://docs.microsoft.com/en-us/iis/web-dev-reference/server-variables)
HTTP request header variables. IIS maps the HTTP header variable name to a server variable name: it converts - (hyphen) to _ (underscore), and adds HTTP_ as a prefix. For example, it converts accept-language to HTTP_ACCEPT_LANGUAGE. Some header request variables are in the default list (for example, HTTP_ACCEPT_LANGUAGE), but you can add support for any custom HTTP header variables.
Separate the variables in the list by using commas.
The default list is effectively equivalent to the following in the web.config file:
<add key="ServerVariablesList" value="REMOTE_ADDR, LOCAL_ADDR, HTTPS, HTTP_URL, HTTP_ACCEPT_LANGUAGE, HTTP_COOKIE, HTTP_HOST, HTTP_REFERER, SERVER_NAME, SERVER_PORT, SERVER_PROTOCOL, HTTP_X_FORWARDED_FOR, HTTP_X_FORWARDED_PROTO, HTTP_X_ORIGINAL_URL, HTTP_X_REQUESTED_WITH, HTTP_X_CSRF_TOKEN" />
Default: See IOM.Info.ServerVariables.
TemplateLocation
The relative path from which templates should be retrieved if the image cache is not being used (that is, UseImageCache is False; see UseImageCache).
Default: Templates
UseImageCache
Whether to use the image cache when loading project specific templates.
True or 1: Use the image cache.
False or 0: Use the local file system.
The image cache is used only to specify the project template/image locations. If a project-specific template cannot be found, the default template location is used. If the image cache is not used, the project template location is specified as TemplateLocation\ProjectName
The default image cache setting can be overridden on a project by project basis in DPM.
The image cache is not used in a single computer configuration.
Default: True
X-Frame-Options
This custom header prevents the UNICOM Intelligence application HTML code from being encapsulated within a frame-set. Websites that are vulnerable to being encapsulated in a frame-set are susceptible to a variety of vulnerabilities including but not limited to cross-frame scripting, and user interface redress attack.
Use one of the following methods configure the setting:
Add the following <customHeaders> section to the mrIWeb web.configfile:
<httpProtocol>
  <customHeaders>
    <add name="X-Frame-Options" value="deny" />
  </customHeaders>
</httpProtocol>
The value options are:
deny: The page cannot be displayed in a frame, regardless of the site attempting to do so.
sameorigin: The page can only be displayed in a frame on the same origin as the page itself. sameorigin is the recommended value.
allow-from uri: The page can only be displayed in a frame on the specified origin.
Change the setting's value to deny in Microsoft Internet Services (IIS) under: [Your_Server_Name] > Sites > mriWeb > HTTP Response Headers > X-Frame-Options
Default: The is no default value, which means that rendering is allowed within frames.
Notes
The Web Service reads Web.config from the installed folder only. The hierarchical configuration architecture of ASP.NET is not implemented.
Some special characters have a different meaning when used in XML. To avoid mistakes, use the following entity references to replace the special characters in the Web.config file:
Entity reference
Special character
Description
&lt;
<
Less than
&gt;
>
Greater than
&amp;
&
Ampersand
&apos;
'
Apostrophe
&quot;
"
Quotation mark
See also
Web configuration files