Timeout settings in SAP Live Office 4.x
In one of my previous documents i have written several words about the Timeout settings on the BI Platform 4.x version. Of course this document is not complete, since it is not contains all the possibilities of the timeout settings. In this document I am giving guideline for SAP BusinessObjects Live Office users to check/troubleshoot timeout errors of the application. Before you do any changes in the timeout settings, we have to answer minimum the following questions:
- What is the BI Platform version? Is the Live Office application version the same as the BI Platform version?
SAP BusinessObjects Business Intelligence Platform version must be the same as SAP Live Office version.
Different versions use different backend processing methods. SAP BI Platform 4.x has 2 different workflows when working with Live Office documents:
- version 4.0 and 4.1 up to SP5 P5 uses the dswsbobj web application
- from version 4.1 SP5 P5 and version 4.2 uses the RESTful web service
- What is the proper error message when we facing timeout issue?
The root cause of various different error message can be timeout. Some examples:
- "The operation has timed out."
- "An error occurred when the report is refreshed. Detail: the operation has timed out"
- "Unknown error (0x8013500)"
- "GetDocumentInformation exception (Error: WRE 99999) The operation has timed out."
- "Failed to upgrade this document (LO 01400) - Invalid pointer"
- What business workflow is being executed by the user when the error message displayed?
"Refresh All" objects workflow requires more time and effort for each the client application (preparing and displaying prompts) and also for the server application (to execute all the reports) than refresh a single Live Office object; of course requires a different troubleshooting steps.
Also important to understand the technical process of the Live Office application, since different settings are related to different tiers and requires different places to perform these settings.
Understanding the technical process
Let's review the technical process. I would go for the following example: when refreshing a single object, which is a part of an existing WEB Intelligence report. The interactive version can be found in the following document: 4.x Platform: Refresh a Web Intelligence part using Live Office
As you see, each tier is affected in the refresh process, and there are different setting for timeout for each tiers.
- The client tier the Live Office application itself, which is connects to the web server via the http://<servername>:<port>/dswsbobj/services/session url .
- The Web tier, the web server (tomcat) forwards the request to the Web Application Server and creating an enterprise session after the CMS successfully validated the given credentials for the connection.
- Now the process can continue on 2 different ways, pending on the BI Platform version. If you are using BI Platform 4.1 SP5 P5 or newer, the Web Application Container Server will process the requests of Live Office application via RESTful service, and calls the WEB Intelligence processing server to refresh the report.
As we have 3 different tiers in the technical process, we can modify the timeout properties for each 3 different one. Before we go for the details, please note the golden rule: Keep it simple!
To modify a timeout without modification of other parameters not always not solves the issue. Example: increasing a Live Office application timeout more than a enterprise session timeout is not a valid case in production environments, since the session will expire earlier than the Live office application would reach the timeout value, but this technique is candidates for troubleshooting without generating traces about the full workflow.
1. Timeout settings in Live Office application
The Live Office application installed on client PCs and used as an Addin in the Microsoft Office applications (Excel, Word, Powerpoint, Outlook) , in windows environment, and the timeout value stored in the windows registry, so can be modify via the registry editor. To do this change, you need local administrator rights on the windows machine.
This timeout is valid for a single operation step started from the Live Office application, and it is defines the maximum waiting time of the Live Office client application between to server calls. The default value for this timeout is 600 seconds, so 10 minutes.
Steps to change the DefaultTimeOut value:
1. Open the registry ( Start -> RUN -> Type regedit) .
2. Locate the following path:
- for a specific user: HKEY_CURRENT_USER\Software\SAP BusinessObjects\Suite XI 4.0\Live Office\ENTERPRISE
- for all users on the same machine: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\SAP BusinessObjects\Suite XI4.0\Live Office\ENTERPRISE
3. Create (if not already exist) a new REG_SZ key named DefaultTimeOut
4. Set the default timeout value to 3600.
The value is in seconds, which is 60 minutes so basically it is the same as enterprise session logon token timeout of the WACS server.
After restarting the MS Office application (Excel, Word, Powerpoint, Outlook) the new timeout value will be used from the client side. If there are have more than one Live Office client application installed on your environment, you must do this change on all the effected machines.
2. Timeout settings for WEB services
If the client side timeout setting was not solved the problem, and there is continuously the timeout error message displayed in Live Office client application, as a next step at the web tier, the Web Server, Web Application Server and Web Application Container Server (WACS) timeout can be increased.
- The web server (by default tomcat) is responsible for the connection handling especially communication response times between Live Office client and Web Application Servers.
- Under the Web Server several web applications are deployed. One of these is the dswsbobj, which is responsible for the sessions, as also for the session timeouts.
- The Web Application Container Server serves the RESTfull service, which handles and process the data, communicates with the other BI servers such as WEB Intelligence processing server (when a WEB Intelligence document or Universe is the data source) or Crystal Processing Server (when the data source is a crystal report).
Connection timeout for tomcat servers
When refreshing a large document in Live Office, or the data source has large number of prompts or prompt values, the technical workflow can be timed out at the point, when the Live Office application tries to send the request to the web server, and waits for the response. This waiting time can be customized by a parameter called connectionTimeout in tomcat server configuration file.
To change this timeout value, follow these steps:
1. Go to <TOMCAT INSTALLATION DIRECTORY>\conf\server.xml
2. Change "connectionTimeout" to 600000. This value is in milliseconds, which means 10 minutes.
The value in must be milliseconds, and the Connector will wait, after accepting a connection, for the request URI line to be presented. Use a value of -1 to indicate no (i.e. infinite) timeout. The default value is 60000 (i.e. 60 seconds) but note that the standard server.xml that ships with Tomcat sets this to 20000 (i.e. 20 seconds). Unless disableUploadTimeout is set to false, this timeout will also be used when reading the request body (if any).
3. Save file
4. Restart Tomcat in Central Configuration Manager
In this example screenshot i have set the timeout ot
For more information, you may reffer to the following link: https://tomcat.apache.org/tomcat-7.0-doc/config/http.html
Session timeout in Live Office process flows
In BI Platform, the web application dswsbobj is first web application which handling calls of the Live Office application requests,so the session timeout parameters can be defined in the dsws.properties. The file at <BIP INSTALLATION DIRECTORY>\tomcat\webapps\dswsbobje\WEB-INF\classes on windows machines.
To change the Live Office session timeout follow these steps:
1. Open file dsws.properties on the path: <BIP INSTALLATION DIRECTORY>\SAP BusinessObjects\Tomcat\webapps\dswsbobje\WEB-INF\classes\
2. By default there is no session.timeout parameter in this file. You can insert one line to the end of the file like:
3. Save the file and restart the web server.
The session.timeout value is in seconds, so 3600 seconds is 60 minutes, which is the default value enterprise session logon token timeout. From BI Platform version 4.1 SP5 P5 this value will be passed to the RESTful service as a session timeout.
For WACS timeout settings please look the following document: Timeout settings on the BI Platform 4.x . section Logon token timeout.
If the timeout still happens, you must investigate the http/https communication with fiddler or httpwatch application to determine which step causes the issue,
There are various options to extend the live office application timeouts on client also on server side in SAP BusinessObjects Business Intelligence Platform. To start, i suggest to take the easiest options, first change the Live Office client application timeout which helps you to narrow down to the root cause of the issue.
Please note: changing the BI server configurations, manipulating session timeouts can cause unexpected behaviors in other applications such as dashboards or WEB Intelligence Rich Client which are using the same mechanism.