My Oracle Support Banner

SMC EAI Parameters "No Session Preference in EAI-SOAP" And "Maximum Retry for Processing EAI-SOAP Request" Are Not Working (Doc ID 2781662.1)

Last updated on JULY 19, 2021

Applies to:

Siebel CRM - Version 17.0 [IP2017] to 21.5 [Release V17]
Information in this document applies to any platform.

Symptoms

The following is described in the Siebel Documentation for SessionToken:

https://docs.oracle.com/cd/F26413_14/books/EAI2/web-services.html#c_About_Siebel_Authentication_and_Session_Management_SOAP_Headers_ahm246341

The Siebel SessionToken for Web Service Management is an encrypted string containing the information about username, password, and timestamp. For subsequent requests the application must use the SessionToken to reuse the session.

For security reasons, SessionTokens are regenerated for each response. The application must provide the last received SessionToken for the next request.

The SessionToken-Siebel session map is maintained in the Siebel Application Interface (AI); based on the SessionToken value, AI sends the request to the correct Siebel session (task).

Although the session is persistent, authentication happens for each request (AI decrypts the UserName and Password from the SessionToken).

 

Based on the above, by default, the SessionToken and the EAI task which generated the token has a 1:1 mapping and affinity with each other.

However, this behavior can be controlled by a parameter on the SMC called [No Session Preference in EAI-SOAP] which takes a TRUE (checked) / FALSE (unchecked) value.


The [No Session Preference in EAI-SOAP] behaves as follows:

1. When the [No Session Preference in EAI-SOAP] = FALSE (unchecked, which is the default out of the box setting):

There is affinity between the SessionToken and the EAI task.

a. When an EAI task is still Running/available, incoming request with the issued SessionToken will have affinity with the originating EAI task and get executed by the same originating EAI task.

b. When an EAI task is no longer Running, has been closed with SessionTimeout, "stop task" command, EAI component shutdown, Siebel server shutdown, incoming request with the issued SessionToken will have afinity with the originating task and get routed to that same originating task, but since that task is no longer available (due to one of the mentioned session closure scenarios), it generates error "Token might have been expired or logged out by the user".

 

2. When the [No Session Preference in EAI-SOAP] = TRUE (checked):

There is NO affinity between the SessionToken and the EAI task.

a. When an EAI task is still Running/available, incoming request with the issued SessionToken will not have any affinity with the originating EAI task and can be executed by any running EAI task available.

b. When an EAI task is no longer Running, has been closed with SessionTimeout, "stop task" command, EAI component shutdown, Siebel server shutdown, incoming request with the issued SessionToken will run in any other available EAI task. If no Running EAI tasks are available, a new EAI task is created/opened for the request like a relogin. The token expired error does not occur.

NOTES:

• Checking/unchecking (changing) the value for the [No Session Preference in EAI-SOAP] does not require any AI service restart, nor EAI OM component or Siebel server restart. It takes effect on the next SessionToken that is freshly issued/generated.

• This [No Session Preference in EAI-SOAP] only applies to web service requests using Session Management (ie. soap requests with SessionToken). It does not apply to inbound web service requests using Anonymous Pool Connections as these types of requests are processed different by Siebel application. 

 

There is another parameter in the SMC called [Maximum Retry for Processing EAI-SOAP Request] which allows user to indicate how many times the EAI request is retried in case of an initial failure. The default setting is 5. Setting this value to 0 (zero) is not valid, the lowest value possible is 1 as Siebel has to at least try once/one time to process the request before determining if it is no longer able to process it again/further. The recommendation is to leave this as default 'Maximum Retry for Processing EAI-SOAP Request' = 5.

This parameter will be in effect and useful when server is busy or network is busy, multiple attempts help get the request connected to the server and create the session; eventually it will give up after number of attempts specified here.

 

Despite the above, these two parameters are currently not working properly on IP17 releases:

I.  No matter if [No Session Preference in EAI-SOAP] is set to TRUE or FALSE, the behavior does not change, it is the same as FALSE where it will have affinity with the EAI task.

II. No matter what the [Maximum Retry for Processing EAI-SOAP Request] is set to, it is currently always trying/retrying 5 times.

Both parameters at the SMC level are being ignored, not being read currently and thus not being applied properly.

Changes

 

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Changes
Cause
Solution
References

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.