These settings are found in the server ini file, qawserve.ini:

Format:

ExternalServers={Description},QATCPIP:{Server}:{Port}

Default:

None

Purpose:

ExternalServers specifies the locations of the external data servers available to Pro Web in addition to the primary server. Each server should be entered on a separate line, using a + symbol for the second and subsequent lines. If this setting is left blank, only the primary server will be available. Normally the Partner Sourced Data Server, controlled by the acserver.ini, will be the only server identified here.

{Description} is a text description to identify the server, used for search routing with the DefaultServer setting. {Description} must not contain spaces. {Server} is either the dotted quad IP address (for example "192.168.01") or the DNS name of the server. {Port} is the port number on which the server listens.

Example:

ExternalServers=PartnerSourcedData,QATCPIP:myserver:2022

This setting specifies one external data server is available to Pro Web. It is called "PartnerSourcedData", is hosted on the server "myserver" and listens on port 2022.

Format:

DefaultServer={Description}

Default:

The primary server.

Purpose:

DefaultServer can be used to specify an external server to handle search requests for undefined data mappings. Data mappings are set up on individual servers. If a particular data mapping is not defined on any server, the search will be sent to the server specified by DefaultServer. If DefaultServer is left blank, searches against undefined data mappings will be sent to the primary server.

{Description} must be the description of the server as defined by the ExternalServers setting.

Example:

DefaultServer=PartnerSourcedData

This setting specifies that searches against undefined data mappings should be sent to the external server called "PartnerSourcedData".

Format:

ServerComment={String defining the server name}

Default:

Pro Web < version number > (< Machine Name >)

Purpose:

ServerComment enables an administrator to specify a text string to identify the server.

Example:

ServerComment=Main Server

Format:

ServerAddress=QATCPIP:{IP Address}:{Port}[;flags]

Default:

QATCPIP:*:2021

Purpose:

Defines the interface(s) on which the server will listen for connections. Any interface defined here must exist on the server machine.

{IP Address} is one of:

  • Dotted quad IP address (for example, 192.168.0.1)
  • DNS name
  • (The server will listen on all interfaces)

{Port} is the port number on which the server will listen.

[flags] is an optional modifier. The only flag currently supported is ";s", which denotes that connection(s) should be SSL encrypted e.g. QATCPIP:*:2021;s

If this flag is used then a certificate and private key must be specified.

Example:

ServerAddress=QATCPIP:192.168.0.1:1050

Format:

ServerWSDLUrn=http://{Server Address}:{Port}

Default:

Blank

Purpose:

This keyword must be set to the location of the Pro Web Service. This keyword must not be blank.

{Server Address} must be an absolute name and is one of:

  • Dotted quad IP address (for example, 192.168.0.1)
  • DNS name

{Port} is the port number on which the server will listen.

Example:

ServerWSDLUrn=http://192.168.0.1:1050

Format:

UsageLog={filename}

Default:

None

Purpose:

This sets the location and filename of the XML server usage log file. If this setting is blank, server usage will not be recorded. If you do not specify a path, the file will be stored in the same folder as the Pro Web program files.

The usage log records the peak number of connected clients and the number of final addresses returned every hour.

Use the LogPeriod setting to specify how many days of usage data should be stored.

Example:

UsageLog=C:\temp\QASProWebUsage.xml

Format:

Log={integer}

Default:

365

Purpose:

The LogPeriod specifies how many days of usage data should be maintained. Server usage is only logged if the UsageLog setting is configured.

Example:

LogPeriod=7

This example will maintain usage data for the current day and the previous 6 days. Usage data from more than 6 days ago will be removed from the log file on a daily basis.

Format:

WorkerThreads={Number of threads}

Default:

30

Purpose:

Defines the maximum number of worker threads the server will allocate to process incoming requests. This value is normally less than the maximum number of concurrent connections accepted by the server.

Example:

WorkerThreads=40

Format:

SystemPrefix={text string}

Default:

None

Purpose:

This keyword enables you to administer your Pro Web installation remotely.

This is effectively a password with which you can validate commands you issue. Use this key to define a unique text string that acts as a password for remotely examining the system state, by typing an entry as if it was a search term.

The result or the information will be displayed as if it were a picklist from a search.

Example:

For example, if SystemPrefix is set to 'Fred', and the command is 'Countries', you would enter Fred:Countries into one of the input text fields.

Input Description
Fred:Countries This lists all installed Primary Sourced datasets, including the number of days remaining until the data expires.
Fred:SysInfo This returns the system information list.
Fred:ErrorList This returns the most recent entries in Pro Web's internal error log.
Fred:CounterInfo This returns the counter audit code, counter status code, and a list of all counters at the specified server.
Fred:CounterUpdate: This sends the given click update code to the specified server. is the counter update code supplied by Experian.
Fred:ServerList This lists which servers can be specified within the CounterInfo and CounterUpdate commands.

If you want to use the CounterUpdate function to add clicks, you will need to create a page that does not use the CanSearch function. This is because the CanSearch function is used to check the counters before searching, and this would return an error if no clicks remain.

Format:

SSLCertificateFile={pem encoded certificate chain file path}

Default:

Blank

Purpose:

Allows the administrator to specify a certificate chain for use with HTTPS encryption. The certificates must be in PEM format and must be sorted starting with the subject's certificate (actual server certificate), followed by intermediate CA certificates if applicable. The root CA would not normally be added as this is usually already in the client's trust store.

Example:

SSLCertificateFile=experian.com.cert.pem

Format:

SSLPrivateKeyFile={pem encoded private key file path}

Default:

Blank

Purpose:

Allows the administrator to specify a private key for use with HTTPS encryption.

Example:

SSLPrivateKeyFile=experian.com.key.pem

Format:

SSLPrivateKeyPassword={The password to unlock the private key}

Default:

Blank

Purpose:

Allows the administrator to specify a private key password (should the private key require one).

Example:

SSLPrivateKeyPassword=YourPassword

Format:

SSLLibrary={SSL dynamic library file path}

Default:

Blank

Purpose:

Allows the administrator to override the default settings and choose a specific instance of the OpenSSL dynamic library.

Example:

Windows - SSLLibrary=C:\ssleay64.dll

Unix - SSLLibrary=/usr/lib/libssl.so

Format:

CRYPTOLibrary={CRYPTO dynamic library file path}

Default:

Blank

Purpose:

Allows the administrator to override the default settings and choose a specific instance of the OpenSSL CRYPTO dynamic library.

Example:

Windows - CRYPTOLibrary=C:\libeay64.dll

Unix - CRYPTOLibrary=/usr/lib/libcrypto.so

Format:

ServiceTimeout={Milliseconds}

Default:

0

Purpose:

Defines the global service timeout in milliseconds. Setting this to zero disables the service timeout functionality, which is the default.

When enabled, any request that has entered the server and has not been fully processed for the configured time will not be routed to its engine but instead will immediately receive a special response. The format of the response is controlled by the ServiceTimeoutAction setting. The default is for the request to be rejected with an HTTP error response of 503 Service Unavailable.

The current implementation of the service timeout handles only requests that could not be immediately processed due to all workers being busy. See the WorkerThreads setting.

Example:

ServiceTimeout=10000

Format:

ServiceTimeoutAction={HTTP|SOAP}

Default:

HTTP

Purpose:

Selects the action to be taken when a the service times out a request. This only happens if there is non-zero ServiceTimeout configured.

  • HTTP: This action will produce a 503 Service Unavailable error response with no body.
  • SOAP: This action will produce an engine-specific SOAP response simulating an engine timeout. Note that HTTP handling is recommended since the simulated SOAP response will mask the underlying resource issue.

Example:

ServiceTimeoutAction=SOAP

Description:

All settings described in this section are found in the file application.properties placed
inside the config directory, which can be found in the installation directory after the
installation is complete.

  • If you intend to use the server with HTTP only, then leave the file application.properties as it is and do not make ANY modifications to it.

  • If you intend to use the server with HTTPS, then you should uncomment ALL the properties in the file application.properties and assign appropriate values to them.

NB: The file application.properties contains extensive description on how to configure HTTPS and it can be used as a reference.

Format:

server.ssl.enabled={true|false}

Default:

true

Purpose:

Controls the kind of requests that the REST server accepts

  • server.ssl.enabled=true - the server will accept only HTTPS requests
  • server.ssl.enabled=false - the server will accept only HTTP requests

Example:

server.ssl.enabled=true

Format:

server.http.port={Valid free port number}

Default:

None, should be explicitly specified by the user

Purpose:

HTTPS always uses the port specified in server.port (if HTTPS is not enabled, then server.port is used by HTTP). When HTTPS is enabled and the user makes an HTTP request, the request is automatically redirected to HTTPS and the port that is used for HTTPS. Since HTTP and HTTPS cannot use the same port, a port for HTTP should be specified as well - this is achieved through server.http.port.

Example:

server.http.port=8282

The example above means that the server will listen for HTTP requests on port 8282. Once such a request is received, it will be forwarded to HTTPS on the port specified in server.port.

Format:

server.ssl.key-store={Path to the keystore file that contains the certificate}

NB: The path should be an URI and the way it is specified is platform-specific

  • Possible ways of pointing to the same /etc/fstab file in UNIX:
    1. file://localhost/etc/fstab
    2. file:///etc/fstab
    3. file:/etc/fstab (KDE environment specific)
  • Possible ways of pointing to the same c:\WINDOWS\clock.avi local file in Windows:
    1. file://localhost/c:/WINDOWS/clock.avi
    2. file:///c:/WINDOWS/clock.avi (URI as understood by the Windows Shell API)

Default:

None, should be explicitly specified by the user

Purpose:

Used for setting the path to the keystore file containing the certificate.

Example:

  • Windows specific path example
server.ssl.key-store=file:///C:/Temp/keystore.p12
  • UNIX specific path example
server.ssl.key-store=file:///temp/keystore.p12

Format:

server.ssl.key-store-password={Password of the keystore file}

NB: The password should be provided in plain-text format

Default:

None, should be explicitly specified by the user

Purpose:

Provides the password for the keystore

Example:

server.ssl.key-store-password=<enter_your_keystore_password>

Format:

server.ssl.keyStoreType={Type of keystore}

NB: Currently, only PKCS12 keystores are supported

Default:

PKCS12

Purpose:

Used for specifying the keystore type

Example:

server.ssl.keyStoreType=PKCS12

Format:

server.ssl.keyAlias={Alias mapped to the certificate}

Default:

None, should be explicitly specified by the user

Purpose:

Used for specifying the alias that identifies the key in the keystore

Example:

server.ssl.keyAlias=tomcat