XX1 Main Configuration

XX1 Server configuration is held in XML text files that are portable across operating platforms. There is one top level configuration file that by default is named xxscfg.xml. This file must be passed as parameter to the server execution.

In a normal installation you will find the configuration files and data tables in a subdirectory called "config". The XX1 configuration reader supports XBase and XLink statements that allow you to split out configuration sections for easier system management. You will notice that the root node of xxscfg.xml for example specifies the base path for all configuration files as xml:base="/xxs/bin/config". XBase and XLink statements can be used at any level and apply for all nested children unless overridden with a new XBase statement. If no XBase is specified, then the current directory is the reference.

Configuration Parameter

NodeDescriptionDefault (if not specified)
interfacesExternal Interface Loader
interfaces/if

Interface entry.

Attributes:

  • name: Logical name
  • lib: library module name
interfaces/if/portInterface listening port
interfaces/if/bind Listening Network Interface (ip-address). So if multiple network devices are available you can specify the local IP address of the network device that should be listened to.use any
interfaces/if/traceidTrace id for use with XXTraceConsole when tracing the interface.
interfaces/if/threadpoolPre-create client threads for performance improvement to save the thread creation overhead.0
interfaces/if/cpuForce selection of specific CPU number for all threads, starts with 0Let the operating system select from all available CPUs
interfaces/if/timeoutSpecifies the time in seconds after which a permanent socket connection will be dropped by the server if no packet gets received on this socket. This value has to be equal or slightly higher than the sessiontimeout value in xxscfg.xml for this instance (at least if you want to use this instance as a proxy or use keep alive setting in general).120s
logError Logging
log/fileFile Name for main XX1 log file.xxs.log
log/fileopenmode

File Open mode at server start.

Values:

  • create: Create a new log file, when server is restarted. Old log file is overwritten.
  • append: Always append to log file. The log file will increase over time!
create
trace Live Tracing
trace/portListening port for XXTraceConsole
trace/bind

Listening Network Interface (ip-address).

So if multiple network devices are available you can specify the local IP address of the network device that should be listened to.

use any
windows/service_displaynameDisplay Name of Windows Service. Must be unique on a machine.XX1 Server
windows/service_descriptionDescription of Windows Service
xxeTransaction Engine
xxe/maxsessionsMaximum number of concurrent transactions4096
xxe/sessiontimeoutInactivitity timeout for locked sessions (contexts) in secondsnone
xxe/lookupEncode Decode Tables
xxe/lookup/folderDirectory where tables residecurrent
xxe/lookup/fileTable indexxxencode.xml
xxe/providerProvider Adapter
xxe/provider/adapter

Adapter entry.

Attributes:

xxe/transformations

Transformation Services.

Attributes:

  • default: default service to be selected in scripts
xxe/transformations/service

Service entries.

Attributes:

  • name: Logical Name
  • lib: library module name
  • config: service configuration file
xxe/transactionfilterTransaction Filter
xxe/transactionfilter/filter

Filter entries.

Attributes:

  • name: Logical Name
  • lib: library module name
  • config: filter configuration file
xxe/scriptingScript Engines
xxe/scripting/engine

Engine entries.

Attributes:

  • name: Logical Name
  • lib: library module name
  • config: engine configuration file
  • files: script file extension association
xxe/transactionsTransaction/Message Map
xxe/transactions/tmapMap Table
xxe/transactions/tmap/t

Transaction Implementation.

Attributes:

  • name: message identifier (root of request XML)
  • version: (optional) message version (root attribute of request XML)
  • provider: Logical Name of provider adapter to be selected
  • engine: Logical Name of script engine to be used
  • script: Script that implements transaction procedure
  • service: (optional) Transformation Service to be used for this transaction (if other that default)
  • reset: reset host session that is used for script (yes/no)

 

Example:

<xxscfg>
    <interfaces>
        <if name="SOAP" lib="soapif">
            <port>8800</port>
            <bind/>
            <traceid>SOAP</traceid>
            <threadpool>0</threadpool>
            <cpu>0</cpu>
        </if>
    </interfaces>
    <log>
        <file>xxs.log</file>
        <!--fileopenmode>append</fileopenmode-->
    </log>
    <trace>
        <port>3070</port>
        <bind/>
    </trace>
    <unix>
        <filemaxsoftlimit>1024</filemaxsoftlimit>
        <filemaxhardlimit>4096</filemaxhardlimit>
    </unix>
    <xxe>
        <maxsessions>1024</maxsessions>
        <sessiontimeout>300</sessiontimeout>
        <lookup>
            <folder>lookup</folder>
            <file>encodedecode.xml</file>
        </lookup>
        <provider>
            <adapter name="MyProvider1" lib="xxghost" config="xxghostcfg.xml"/>
            <adapter name="MyProvider2" lib="xxproxy" config="proxycfg.xml"/>
            <adapter name="MyProvider3" lib="xxmetapool" config="amadeuswsmpcfg.xml"/>
        </provider>
        <transformations default="MS">
            <service name="MS" lib="xxtMS" config=""/>
            <service name="Xalan" lib="xxtXalan" config=""/>
        </transformations>
        <scripting>
            <engine name="JavaScript" lib="xxjse" config="" files=".js"/>
        </scripting>
        <transactions>
            <tmap>
                <t name="TestRequest" provider="MyProvider1" engine="JavaScript" script="test1.js"/>
                <t name="TestRequest" provider="MyProvider2" engine="JavaScript" script="test2.js"/>
            </tmap>
            <link xlink:type="simple" xlink:href="More tmap entries.xml"/>
            <link xlink:type="simple" xlink:href="AmadeusWS/AmadeusWSTransactionMap.xml"/>
        </transactions>
    </xxe>
</xxscfg>