Session Management in BI Platform REST SDK (RWS)
This blog describes session management in BOE 4.2 BI Platform REST SDK.
Authentication:
RWS APIs to get x-SAP-LogonToken:
Sl. No.
|
Description
|
REST API
|
Http Methods
|
Query Parameters
|
---|---|---|---|---|
1. |
Logon using username and password |
http://host:<port>/biprws/vx/logon/long | GET, POST | N.A |
2. |
Logon with token/serialized Seeeion |
http://host:<port>/biprws/vx/logon/token | GET, POST | N.A |
3. |
Logon with adsso |
http://host:<port>/biprws/vx/logon/adsso | GET | clienttype |
4. |
Logon trusted |
http://host:<port>/biprws/vx/logon/trusted | GET | X-SAP-TRUSTED-USER, clienttype |
5. |
Logon trusted x509 |
http://host:<port>/biprws/vx/logon/trustedx509 | GET | clienttype |
6. |
Logoff (token must be in Header) |
http://host:<port>/biprws/vx/logoff |
POST | N.A |
Details:
BOE Version | 4.2 |
host | IP Address / Name of the of the server |
port | Port number (WACS) |
x-sap-logontoken (Header) |
Header key with value is Token. For All API this header is must (not for Logon APIs). |
vx | v1 |
x-sap-pvl (Header) | us-en |
Accept | Applicaiton/JSON OR Application/XML |
Content-Type | Application/JSON OR Application/XML |
Must send the token to all RWS APIs in header “x-SAP-LogonToken”.
Till 4.2 SP03 logon REST APIs creates light weight “Enterprise Session” so that session count in “CMC->Sessions” not increasing. But when we use this same token to Web Intelligence REST APIs count will increase by 1 in “CMC->Sessions”.
Session management Issue:
Session created by RESTful web service (logon/long) doesn’t vanishes from CMC – Sessions tab after timeout (Issue reproducible only if user hits any raylight (Web Intelligence REST APIs))
Fixed : 4.2 SP02
Note :2359123 – RESTful logon token timeout doesn’t work accordingly
Change in Session type:
Session type Changed to Enterprise Session from the release 4.2 SP04 and onwards.
So that if user use any APIs mentioned in table , immediately session count will increase for the user in “CMC->Sessions” page.
Enterprise Session Token timeout default : 60 min.
Maximum timeout : 1440 min (24 Hrs).
Administrator can set this value in “CMC->Servers->WebApplicationContainerServer-> Right click on this server ->Properties->EnterpriseSession Timeout”.
http session timeout will not be applicable to Enterprise Sesison created using REST APIs.
Get LogonToken Workflow:
Method : POST Data Format: JSON
Method : POST Data Format: XML
Note: In XML format data will be xml encoded please decode the data if user is going to use in any other data format like in Headers or JSON Format.
Link:
https://help.sap.com/viewer/p/SAP_BUSINESSOBJECTS_BUSINESS_INTELLIGENCE_PLATFORM
Hi Bharath,
Thanks for the nice blog its very well explained.
One thing, Where i can change session timeout value for rest SDK ?
Thanks
-Mohit
Login to CMC (http://<hsot> : <port>/BOE/CMC)
Servers -> Web Application Container Server -> right click and select Properties
And change the value for “Enterprise Session Timeout”:
Hi Bharath,
Can i change the default URL for restful webservices and use DNS name as URL like htttp://myreports.com/bipwrs
biprws is deployed on Web Application Container Server.
http://<host> you can use DNS name for this like any other web servers.
Port number default : 6405 (can change)
More About WACS : https://help.sap.com/doc/businessobject_product_guides_boebi31_en_wacs_whitepaper_en_pdf/3.1/en-US/wacs_whitepaper_en.pdf
-Bharath
I tried changing in WACS properties but it failed. It would either fail to restart the server or if I select to use the configure template it resets back to original state. Am i doing something wrong here?
are you using IP address in the place of <host>?
In properties you can change only port number for this service.
once you changed here please update same in CMC->Applications->RestFul WebServices.
Configuring RESTful web services:
https://help.sap.com/http.svc/rc/saphelpiis_sbo41_sp6_bip_admin_en/4.1/en-US/frameset.htm?469a0d116e041014910aba7db0e91070.html
WACS and your IT environment:
https://help.sap.com/http.svc/rc/saphelpiis_sbo41_sp6_bip_admin_en/4.1/en-US/frameset.htm?4699bd3c6e041014910aba7db0e91070.html
Configuring the reverse proxy :
https://wiki.scn.sap.com/wiki/display/BOBJ/Configuring+the+reverse+proxy
IP Addresses, Host Names, and Domain Names: https://ist.mit.edu/network/ip
Hi Bharath,
I got following response for the initial GET request:
Based on the response I did sent POST request but I'm getting the following error:
I checked that my user is in the Administrator group and the user itself and password are correct. I'm also able to log in via standard logon.
What I do not know is, where I can see the client type?
Can you please help?
Thank you very much!
check request Headers:
content-type = application/xml
accept = application/xml
Use
*****/biprws/v1/logon/long API.
https://blogs.sap.com/2017/06/24/headers-and-query-parameters-in-bi-platform-rest-sdk-biprws/
HI Bharath,
Thanks a lot for the document. It is very helpful.
I have a problem, we are trying to use the API to read the folder users security.
I tried to look through the RESTFul API document but I cannot find it.
Do you know how to do it?
Thanks,
Max
REST API is not available for this case. Need to get this using Java SDK