Starting SOAPam Server
SOAPam Server is started by running the SOAPAM program from TACL.
tacl>run soapam / run-options / command-line-options
Although all command-line-options are optional, the following options should be set when starting the server:
-ports - Specifies the TCP/IP process and port(s) that SOAPam Server should listen on.
-log - Specifies the output location for SOAPam Server logs
For example, the following command starts an instance of SOAPam Server which listens on TCP/IP process $ZTC0, port 8080, and sends log output $VHS using event format:
run soapam / name $SOAP, cpu 0, nowait, term $zhome / -ports $ztc0:8080 -log $vhs event
The command line reference for SOAPAM contains documentation on all command-line-options.
Configuring Persistence
SOAPam Server includes a "persistence" or hot-standby feature to maximize availability. When you start the server with the '-backupcpu' option, it runs as a NonStop process pair, creating a backup process in the cpu that you specified. In the event of a hardware failure in the primary cpu or a software failure, the backup process is activated and begins accepting new requests. However, any existing TCP/IP connections from client applications are terminated. Any outstanding IO operations with application servers are abandoned and any uncommitted TMF transactions are aborted.
When a client application detects that its connection to the server has been terminated, it should retry the entire transaction. The backup SOAPam Server will be available to accept requests immediately. While the server is running, the current primary and backup CPU is displayed on the Control Panel Configuration Summary page.
The following example starts an instance of SOAPam Server with a primary process in CPU 0 and backup in CPU 1:
run soapam / name $SOAP, cpu 0, nowait, term $zhome / -backupcpu 1 -ports $ztc0:8080 -log $vhs event
Configuring Load Balancing
The optional HP NonStop Parallel Library TCP/IP or IPv6 product load balances traffic for multiple processes running in separate CPUs that share the same TCP ports. You can use this feature with SOAPam Server. The only restriction is that each copy of the SOAPAM process must use the same TCP ports and VFS subvol and must run in a separate CPU.
The following example starts two instances of SOAPam Server in separate CPUs listening on the same port:
run soapam / name $SOAP0, cpu 0, nowait, term $zhome / -ports $ztc0:8080 -log $vhs event
run soapam / name $SOAP1, cpu 0, nowait, term $zhome / -ports $ztc0:8080 -log $vhs event
Conversely, if you run multiple copies of SOAPam Server without Parallel Library TCP/IP or IPv6, you must use separate TCP/IP processes or TCP ports. In this case, you can use a load-balancing hardware device to distribute incoming SOAP requests over two or more IP addresses or TCP ports.
Configuring Guardian User Impersonation
Guardian User Impersonation is a feature that allows the server to internally switch to the user identity of a given Guardian user prior to sending an interprocess message This feature allows you to run the server under any user identity but still enforce user-based access privileges to servers. In order to use this feature you must license the SOAPAMPL user library and run the privileged version of the SOAPam Server program SOAPAMP.
To license the library, you must log on to TACL as SUPER.SUPER. Then use the following command to license the library, replacing $vol.subvol with the location of you SOAPam Server program files:
tacl>fup license $vol.subvol.SOAPAMPL
The privileged version of the SOAPam Server programs supports all options and features of the non-privileged version. The only difference is the name of the program file and the user library specification. The following example starts the privileged version of the program:
run soapamp / lib soapampl, name $SOAP, cpu 0, nowait, term $zhome / -ports $ztc0:8080 -log $vhs event
For more information on configuring Guardian User Impersonation for individual services, refer to User Impersonation.