Actualités : analyse de données, Business Intelligence, Data Science, Big Data
Forums, dernières contributions

BO XI Infoview : Ouverture Infoview sans Authentification

 JereBO
Jeudi 27 Mars 2008

Version imprimable
[Ignorer]
Bonjour,
Je travail actuellement sur un projet sur BO XI Release 2.
1) J'aurais voulu savoir s'il été possible d'ouvrir l'infoview sans voir apparaitre la page d'authentification à l'aide d'un script Java.

2)J'ai ecrit un script en java mais cela ne fonctionne pas. En effet, la page d'authentification (logon.do) apparait quand meme et me demande de valider mes informations.

<%@ page import = 'com.crystaldecisions.sdk.occa.infostore.*,
com.crystaldecisions.sdk.plugin.desktop.common.*,
com.crystaldecisions.sdk.framework.*,
com.crystaldecisions.sdk.occa.security.*,
com.crystaldecisions.sdk.exception.SDKException'%>
<%
try {

String cms = 'CMS';
String username = 'Administrator';
String password = '';
String auth = 'secEnterprise';

// Attempt logon. Create an Enterprise session
// manager object.
ISessionMgr sm = CrystalEnterprise.getSessionMgr();

//Log on to BusinessObjects Enterprise
IEnterpriseSession enterpriseSession = sm.logon(username, password, cms, auth);

ILogonTokenMgr logonTokenMgr = enterpriseSession.getLogonTokenMgr();
String defaultToken = logonTokenMgr.getDefaultToken();

enterpriseSession = sm.logonWithToken(defaultToken);



String
infoViewURL='http://AdresseCMS:8080/businessobjects/enterprise115/desktoplaunch/opendoc/openDocument.jsp?sDocName=NomRapport&

sType=wid&sRefresh=Y&lsSNumDem=Valueduparametre&sOutputFormat=P&sWindow=New';


/* URL request */
response.sendRedirect(infoViewURL);
}
catch(SDKException sdkEx){
out.println(sdkEx);
}
%>

Comment serait-il possible de contourner cette page d'authentification?

3)Le but de ce script serait de rediriger une page vers un rapport Web Intelligence sans voir apparait la page d'authentification de l'infoview.

Merci d'avance pour vos réponse
 Loïc Baspin
Vendredi 28 Mars 2008

Version imprimable
[Ignorer]
Bonjour,

il vous faut mettre en session les informations de votre connexion :
session.setAttribute('strToken',defaultToken);
session.setAttribute('logonToken', defaultToken); session.setAttribute('enterpriseSession',enterpriseSession);
session.setAttribute('CE_ENTERPRISESESSION', enterpriseSession);

Tenez moi au courant.

Loïc Baspin
Consultant Décisionnel
Advanced Schema
 JereBO
Vendredi 28 Mars 2008

Version imprimable
[Ignorer]
Bonjour,

Tout d'abord, merci de m'avoir répondu aussi rapidement.

J'ai rajouter le code que vous m'avez fourni à mon script mes cela ne fonctionnent toujours pas.
En effet, cela me redirige toujours a la page d'authentification de l'infoview.
Voici le code que j'ai rajouté :
<%@ page import = 'com.crystaldecisions.sdk.occa.infostore.*,
com.crystaldecisions.sdk.plugin.desktop.common.*,
com.crystaldecisions.sdk.framework.*,
com.crystaldecisions.sdk.occa.security.*,
com.crystaldecisions.sdk.exception.SDKException'%>
<%
try {

String cms = 'CMS';
String username = 'Administrator';
String password = '';
String auth = 'secEnterprise';

// Attempt logon. Create an Enterprise session
// manager object.
ISessionMgr sm = CrystalEnterprise.getSessionMgr();

//Log on to BusinessObjects Enterprise
IEnterpriseSession enterpriseSession = sm.logon(username, password, cms, auth);

ILogonTokenMgr logonTokenMgr = enterpriseSession.getLogonTokenMgr();
String defaultToken = logonTokenMgr.getDefaultToken();

enterpriseSession = sm.logonWithToken(defaultToken);

session.setAttribute('strToken',defaultToken);
session.setAttribute('logonToken', defaultToken); session.setAttribute('enterpriseSession',enterpriseSession);
session.setAttribute('CE_ENTERPRISESESSION', enterpriseSession);

String
infoViewURL='http://AdresseCMS:8080/businessobjects/enterprise115/desktoplaunch/opendoc/openDocument.jsp?sDocName=NomRapport&

sType=wid&sRefresh=Y&lsSNumDem=Valueduparametre&sOutputFormat=P&sWindow=New';

/* URL request */
response.sendRedirect(infoViewURL);
}
catch(SDKException sdkEx){
out.println(sdkEx);
}
%>

Serait-il possible que cela ne marche pas en raison du faite que je n'ai pas installé le module Crystal Report de BO XI ?

Merci d'avance pour votre réponse
 Loïc Baspin
Vendredi 28 Mars 2008

Version imprimable
[Ignorer]
En fait, lors de l'appel à votre page jsp, qui est la réponse à une requête via votre navigateur, vous pouvez en extraire la session.
A l'aide d'une instance de HttpSession, vous récupérez la session active.
Vous enrichissez cette session d'attributs (ceux donnés dans mon post).

L'installation du module Crystal Report de BO XI n'est pas nécessaire.

Autre technique en y pensant : lors de l'appel à openDocument.jsp vous pouvez rajouter le paramètre 'token' (Token=defaultToken). A tester.

Loïc Baspin
Consultant Décisionnel
Advanced Schema
 JereBO
Vendredi 28 Mars 2008

Version imprimable
[Ignorer]
Re bonjour,

Aprés un peu plus de recherche, j'ai constater que le probléme n'été pas du auprobléme d'authentification mais plutot au niveau de l'URL d'appel du rapport. En effet, le localhost ne garder pas les authentification en parametres.

Le code vous m'avez fournit fonctionne parfaitement.
Merci beaucoup
 LOUBEYRE Simon
Mercredi 9 Avril 2008

Version imprimable
[Ignorer]
Bonjour, j'ai le meme problème. Que signifie dans votre dernier message : le localhost ne garder pas les authentification en parametres
Car si je passe par l'authentification d'infoview une fois, apres ça fonctionne... mais par mon script (copie du votre), il passe par logon !

Merci.


Twitter
Rss
LinkedIn
Facebook
Apple Podcast
App Store
Google Play Store