BusinessObjects Board

How to Obtain Session info to use in QaaWS outside InfoView

Hi all,

I need to build an Xcelsius .swf file to be viewed in a browser-based application which is outside of InfoView. This .swf file needs to show only the data for the user that is already logged in to Business Objects.

I have read many posts on how to do this inside of InfoView by specifying the CELogonToken as a flash variable. How do I do this outside of InfoView?

Some information I have found on the SAP forums is below which suggests it can be done but I don’t know how to a Session Token or Serialized Session into QaaWS using the SOAP header or through the WDSL parameter.


There are 3 ways to authenticate a QaaWS during runtime, from most straightforward to most efficient & recommended :

  1. Explicitely submit username & password through QaaWS web service input parameters, QaaWS uses this information to log on to CMS & start a new session in order to execute the query. Authentication mode (Enterprise, LDAP, SAP…) to connect is specified when QaaWS query is authored (wizard 1st step, click Advanced parameters…, by default authentication mode is the same as used by QaaWS Designer when creating query),

  2. pass a Session Token, this forwards session information (credentials) to QaaWS (e.g. from Infoview) so QaaWS logs with the same credentials as the already existing session. QaaWS will explicitely connect, which means that an extra license is consumed (significant when number of simultaneous users is limited by user licensing). This information can either be passed through QaaWS input call SOAP header or through WSDL parameter QaaWSHeader.sessionID.

  3. pass a serialized session, very similar to the previous one, with the difference that serialized session stores the context of a session that will be re-used by QaaWS, which allows to avoid to log & start a new session. With that method, you are re-using the same credentials as with an existing session (SSO like, no risk of connection error), without eating up another license, since session is 100% recycled. WSDL parameter corresponding to this is QaaWSHeader.serializedSession. This is available since QaaWS XI 3.0. When deployed to Infoview, Xcelsius dashboard are able to automatically pass the information to QaaWS, when they are called (if no other credential is available).

Pasted from http://forums.sdn.sap.com/message.jspa?messageID=8263649

Any help would be most appreciated.

Thanks,
Chris


ChristianKey :uk: (BOB member since 2008-09-19)

What is your problem wtih method #1? You create a QaaWS. It autmatically has the INPUT parameters of username and password.

that means you make two text input boxes for users to type in 1 is User, 2 is PW.

the universe file will take those username paramters and can run row security, if necessary, at qaaws run time.


Cairmor :us: (BOB member since 2008-06-05)

The users are logged into BO silently behind the scenes using the SDK so they do not know their username or password for BO. Their username is in fact a GUID which would be v difficult to remember.

As they have aklready been logged silently into BO behind the scenes then they already have a session available which is why I wish to use this existing session to authenticate them.


ChristianKey :uk: (BOB member since 2008-09-19)

sry, I dont know much about the sdk. its very hard to get help with it.


Cairmor :us: (BOB member since 2008-06-05)

Seems this question was never answered on any site but we figured it out and there is an obscure reference in documentation

Just send CESerializedSesion flashvar along with CELogonToken


kmcmanus (BOB member since 2005-09-02)