Runtime components : Channels components : Key features : Reference : Establish Session and Execute Request parameters
  
Establish Session and Execute Request parameters
The following parameters are used by the system as part of the protocol provided by the toolkit. They have been defined by the HTTP channel protocol and are used by the HTTP channel drivers and device-specific request and presentation handlers. These are optional parameters that may be specified at runtime to modify the behavior of the request.
Establish session protocol parameters
createSession
Optional true/false parameter that determines whether the multichannel support implementation should create a new session, or attempt to get an existing session from the application session table. When this parameter is defined, the application session table must be used to hold the sessionId values.
Possible values:
true. Creates a new session (for example, HttpSession or DSEChannelSession) when the CSEstablishSessionServlet is invoked.
false. The Client/Server Service attempts to create an instance of a DSEChannelSession with a session ID obtained from the application session table for the workstation ID.
Setting this parameter to false supports a mix of Java and HTML clients.
The solution logic is as follows: The HTML client for a given terminal establishes the session and creates an entry in the application session table. The Java client for that terminal, on the other hand, attempts to establish the session by passing the createSession value "false" and the TID of the client. The multichannel support implementation attempts to obtain the session from the application session table for the client TID.
The client TID must be included in the protocol if the request is to use an existing session.
TID
Optional terminal identifier for the client workstation. Required only if the device type must share an existing session, which can be found in the application session table.
To provide this support, non-Java clients must be able to determine the TID when an attempt is made to establish the session. If the TID is not specified, the CSEstablishSessionServlet will not be able to determine the session ID, and an exception will occur. It is the responsibility of the application to determine how to get the client TID. For example, an HTML client would require JavaScript embedded in an HTML page to query the browser for a host name.
Execute request protocol parameters
sessionId
Identifier maintained on the server for the channel and application session. Required if the client does not have cookies enabled and the HTTP protocol is used. The sessionId must be specified in every server request and passed back to the client in response, in order to manage the session.
applicationId
Identifier of the application subsession. Can be used for either of the following:
to determine how the request handler finds the parent context
to allow a single operation to execute either out-of-session or without a valid entry in the application session table
In the first case, the specific request handler uses the applicationId to determine the parent context in order to chain the current context. This occurs when the parent context is not provided by the operation, which must have a parent context, or a remote exception is thrown.
In the second case, the applicationId allows a single operation to run out-of-session. Running an operation out-of-session means that the timestamp in the application session table must not be updated so that the inactivity timeout will not be reset. To prevent this update of the timestamp, the dse_ignore key has been defined. The operation should set the applicationId as follows:
(anOperation.setApplicationId("dse_ignore"));
See also
Reference