Friday, May 20, 2016

Siebel Error: SBL-SVR-00005: Stale or invalid Task handle

This error is recorded when the Siebel server is unable to start up.
Below could be the cause for the failure:

  1. When a Siebel server starts, it will create a shared memory file in the "admin" folder in the Siebel server root directory.The naming convention is [<$EnterpriseName>.<$ServerName>.shm]. It is built upon server startup, and destroyed upon shutdown. If this file cannot be created successfully upon server startup the above error message can be reported. The file cannot be created if:
    1. The file is not deleted successfully because of not shutting down the siebel server properly.
    2. Less disk space available to create the file during start up.
    3. Lack of permissions for the Siebel service owner account on the directory to create the file.
  2. Corrupt siebns.dat file.






Troubleshooting Steps:
  1. Ensure the Siebel server is properly shut down and only before the gateway server is brought down.Follow the specific order to shutdown: Database server,Web Server, Siebel server and Gateway server. Follow the specific order to start: Database Server, Gateway server, Siebel server and Web Server.
  2. Check if the *.shm file is deleted once the Siebel server is shut down and is successfully created when starting up. If the *.shm file is still available after the Siebel server shutdown, then make a copy of it and delete the file. Then try starting the server.
  3. The Siebel service owner account has enough privileges.
  4. Use a good backup of the siebns.dat file to start the Siebel server.

Siebel Error: SBL-SSM-00006: error sending message

This error is recorded in the web server logs when there is a communication failure between the SWSE and the Siebel server.

Below are some of the causes for the communication failure between the SWSE and the Siebel server:

  1. SWSE has incorrect information on how to connect to the Object Manager on the Siebel server.
  2. The Object manager on the siebel server is not running or cannot create a new task.
  3. Possible incorrect settings for parameters in the [ServerDataSrc] section of the application cfg file residing on the application server or from the Named Subsystem specified by the parameter 'OM – Data Source' ('ServerDataSrc' by default). look at the Connect String which will be stored in the DSConnectString parameter of the Named Subsystem. The Application Name will be stored in the parameter 'Application Name' of the Server Component and the Repository Filename in the parameter 'Application Repository File' of the Server Component.
  4. Incorrect configuration in the third party load balancer if any.
  5. If LDAP/ADSI authentication is used, then the credentials could be wrong.






Troubleshooting Steps:
  1. Check if the Connect String details are correct in the eapps.cfg file in SWSE. check for the information like - host names, enterprise server name, ports, VIP/IP addresses etc in eapps.cfg file.
  2. Check if the Object manager is up and running in the specific Siebel server. also check for the parameters MaxTasks, MinMTServers and MaxMTServers. for more information on how to set these parameters, click here
  3. Verify the application cfg files have correct information in them (specifically the following sections [ServerDataSrc], [GatewayDataSrc].) Or check the information in the ServerDataSrc and GatewayDataSrc Named Subsystems.
  4. Try to connect to the specific component in the specific Siebel server directly without external authentication and load balancing.
  5. Then add each element and try to narrow down the issue.

Siebel Error: SBL-SSM-00004: SISNAPI Hello failed. The server component could be down.

This error message suggests there is a failure communicating the siebel server component.
The request to connect to the said component can be either from a user request (or) another component (or) external application.

The reasons for this error could be any of the below:

  1. The Siebel server is down.
  2. The component is not enable, running (or) available on this server.
  3. If the server and the component are both running, then the connection information to connect to the component might be incorrect.
  4. Network connectivity issues.






If none of these help, then look for any accompanying error messages in the logs which could lead to the failure.

Troubleshooting steps:
  1. Verify the Siebel server and the component are enabled and Running.
  2. Verify the connectivity information (ConnectString) to this component in the eapps.cfg file.
  3. Verify if all Siebel SWSE, Gateway server, Siebel servers and the database can communicate.

Siebel Error: SBL-SMI-00204: Internal: The maximum number of Work Queue threads (%1) cannot exceed the maximum number of concurrent tasks (%2)

This error is recorded by Siebel server components that utilize worker queue threads to carry out its work such as Parallel Database Extract server component.
This error occurs when the component is configured in such a manner that the number of worker queue threads is more than the maximum number of concurrent tasks the above message is reported.






Check the settings for the following parameters for the above component:
  • Maximum Number of WorkQ Threads (MaxWorkQThreads)
  • Maximum Tasks (MaxTasks)
  • Maximum MT Servers (MaxMTServers)
The value for the parameter "MaxWorkQThreads" is not greater than the maximum number of concurrent tasks.
The maximum number of concurrent tasks = (MaxTasks / MaxMTServers)

Note: In the case of Parallel Database Extract, users would need to add one additional task to the result obtained above since it has one ancillary task of its own.


Siebel Error: SBL-SMI-00126: The session timed out

This error is recorded in either the Siebel server component log or in the SWSE logs, when a session is terminated (or) closed due to time out.

The different types of time out settings are specified in the eapps.cfg file.






These parameters can be found in the "[defaults]" section of this file and the unit of measure is in seconds and below is the default values:

  • AnonSessionTimeout = 900
  • GuestSessionTimeout = 300
  • SessionTimeout = 900
If the error persists for a user trying to initiate a new session, then it could be due to some stale cookies/temporary objects still on his machine.
In such cases, clear the Temporary internet files, cookies, temporary objects and then initiate a new browser session.


Siebel Error: SBL-SMI-00116: The minimum number of multithreaded server processes (%1) cannot be larger than the maximum number of multithreaded server processes (%2)

This error is recorded in the Siebel server component log file when you try to start the component which has incorrect values for the parameters MaxMTServers and MinMTServers where MinMTServers is set to a value greater than MaxMTServers.






Verify and correct the values for the below component parameters:


  • MinMTServers 
  • MaxMTServers
Ensure the values are MaxMTServers >= MinMTServers 
Restart the Siebel server services for the changes to take affect.

Click here for more information the parameters - MaxMTServers and MinMTServers.

Siebel Error: SBL-SMI-00107: Internal: The context for the given task was not found

The error message "SBL-SMI-00107: Internal: The context for the given task was not found" appears when a session is closed (or) terminated due to time out.

When a user logs in the Siebel thin client, a cookie is assigned to the session, which is used to keep track of the session while the user is actively working. When the session ends due to time out and if the user still tries to work on the Siebel application, they will experience this error as the context is lost due to time out.
The error merely indicates that the application is timed out due to inactivity.







The different types of time out settings are specified in the eapps.cfg file.
These parameters can be found in the "[defaults]" section of this file and the unit of measure is in seconds and below is the default values:

  • AnonSessionTimeout = 900
  • GuestSessionTimeout = 300
  • SessionTimeout = 900



Siebel Error: SBL-SMI-00101: The server is busy, please try again later.

This error is recorded in the Siebel Application Object manager component logs.

This error appears when the Object manager is unable to create any new tasks or has maxed out.






We need to recheck and modify the below parameters:
  1. MinMTServers
  2. MaxMTServers
  3. MaxTasks
Click here for more information on how to modify these 3 parameters and how they work.

Siebel Error: SBL-SMI-00062: Internal: No more process (multi-threaded server) slots available

This error is reported in the specific Siebel server component logs, indicating the component is maxed out.
It means, the component is running at full capacity and can no more create a new task in a multi threaded process to cater any new requests.






We need to recheck and modify the below parameters:
  1. MinMTServers
  2. MaxMTServers
  3. MaxTasks
Click here for more information on how to modify these 3 parameters and how they work.

Siebel Error: SBL-NET-01023: Peer disconnected

This error is reported when there is a problem with the network connectivity between the Siebel Web Server - Siebel gateway Server (or) Siebel Web Server - Siebel Server (or) Siebel Server - Database.

There could be many reasons causing this error message, which might not be restricted to just below:


  1. Hostname to IP address resolution.
  2. Network issues.
  3. Some services are not running on Web Server.






We need to involve the network team to resolve this error depending on where we found this error.
  • If the error appeared in the Siebel server logs, then the issue is with the connectivity between Siebel Server - Database.
  • If the error appeared in the Web server logs, then the issue is with connectivity between Siebel Web Server - Siebel gateway Server (or) Siebel Web Server - Siebel Server.


Tuesday, May 17, 2016

Siebel: How to convert a long running Web Service call to Asynchronous

We often have Siebel inbound web services, which take a lot of time to complete and finally time out.
We can create a web service which will accept the request for processing and then free the client instead of waiting for a response.

The basic thought is to convert the Synchronous call to an Asynchronous call.

Assume we have a workflow "Create Contact wf" which takes a long time and we want to call it Asynchronously.
We create a wrapper workflow in which we call a custom business service.
This custom business service will have the code to invoke "Server Requests" and submit a WfProcMgr job to run "Create Contact wf" asynchronously.
"Server Requests" business service can be used to submit a job to Workflow Process Manager Component (or any other component that accepts jobs) with one of the asynchronous modes: DirectDb / Async / Schedule
Find more details on how the Asynchronous server requests work here






Below is the sample code for the custom business service to take a workflow process property named "ContactIO" containing an IO named "EAI Contact" and pass it to an inner workflow that is called asynchronously and which has the same input process property "ContactIO" also containing an IO named "EAI Contact".


function Service_PreInvokeMethod (MethodName, Inputs, Outputs)

if (MethodName == "CallAsynchronousWf")
{

// instantiate the Business service "server requests" 
var svc = TheApplication().GetService("Server Requests"); 

// create the variables for "server request" Business service input and output

var SRBSInputsPS= TheApplication().NewPropertySet(); 
var SRBSOutputsPS= TheApplication().NewPropertySet(); 

// set the input arguments for the "Server Requests" business service

SRBSInputsPS.SetProperty("Component", "WfProcMgr"); 
SRBSInputsPS.SetProperty("Method", "RunProcess"); 
SRBSInputsPS.SetProperty("Mode", "Async"); 


// set the inner workflow input and output
// the top level of inputs is empty 
// child 0 is the IO instance

var wfInputsPS =  Inputs.Copy();
wfInputsPS.SetProperty("ProcessName", "Create Contact wf"); 

/***********************
you have to set the type of the propertyset at the level where the integration object starts as the workflow process property name, so the workflow is able to read the integration object and you do not get the error  "Input message is missing header properties.(SBL-EAI-04024)".
To make it simple, name the processproperty the same name as the IO.
********************/
wfInputsPS.GetChild(0).SetType("ContactIO");

var wfOutputsPS = TheApplication().NewPropertySet();

// workflow inputs is the IO instance and the process name and is a child of Server requests business service input.
SRBSInputsPS.AddChild(wfInputsPS); 

// invoke the  workflow 
svc.InvokeMethod("SubmitRequest", SRBSInputsPS, SRBSOutputsPS);

}
return (CancelOperation);
}



Tuesday, May 3, 2016

Siebel IP16 - Steps to Install Tools, Web Client and Sample database

Below are the detailed Steps to Install Tools, Web Client and Sample database of Siebel IP 16.

After you create the installables from the extracted zip files, you will see 2 folders for Client and Tools in the Client directory of the installables.
There is no separate directory for Sample database. It comes integrated with Siebel Client.
From Siebel IP 16, it uses Oracle XE database for both local and sample databases.
The software comes bundled with both Siebel Client and Tools installation.






Siebel Client Installation

Navigate to the Windows/Client/Siebel_Web_Client/Disk1/install folder and double click the setup.bat file.
Navigate to the Windows/Client/Siebel_Web_Client/Disk1/install folder and double click the setup.bat file.



Select "Next" in the Welcome Screen.

Optionally enter email

Select "New Installation"

Specify the Oracle Home Name and Location

Select "Language"

Select the type of Client

Specify the hostname of the Remote Server
Select 32 - bit Oracle Client for Sample and Local database.

Review and confirm the installation summary


This will automatically install the Oracle XE database and configure it.



This ends the installation of Client.


Siebel Tools Installation

Navigate to the Windows/Client/Siebel_Tools/Disk1/install folder and double click the setup.bat file.

double click the setup.bat file.

Click "Next" at the Welcome Screen.

Optionally enter email address.
Select "New Installation"
Enter Oracle Home Name and Location
Select "Language"
Select Database server

Specify path to File system



Specify path to Oracle 32 - bit client
Review and confirm the installation

This finishes the installation

123Siebel

Search 123Siebel