Copy following jar files from Business objects installed jar file directory into the domino folder “...\Lotus\Domino\jvm\lib\ext” biarengine.jar
biplugins.jar
cecore.jar
celib.jar
ceplugins_client.jar
ceplugins_core.jar
ceplugins_cr.jar
cereports.jar
cesession.jar
ceutils.jar
corbaidl.jar
CrystalFormulas.jar
CrystalReportingCommon.jar
ebus405.jar
flash.jar
logging.jar
SL_plugins.jar
xcelsius.jar
copy following lines of code into try catch block and have 4 configuration documents for server name, userid, password, CMSName and boxi details.
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
Database db = agentContext.getCurrentDatabase();
Document doc=agentContext.getDocumentContext();
String URLValue=doc.getItemValueString("Query_String");
Hashtable ht=parseQueryString(URLValue);
String getReportCode=(String) ht.get("rptCode");
View vw=db.getView("vwKWLU");
Document userIdDoc=vw.getDocumentByKey("CrystalReportUserID",true);
Document passWdDoc=vw.getDocumentByKey("CrystalReportPassword",true);
Document cmsNameDoc=vw.getDocumentByKey("CrystalReportCMSName",true);
Document boxiAuthenticationDoc=vw.getDocumentByKey("CrystalReportboxi",true);
Document serverNameDoc=vw.getDocumentByKey("CrystalReportServerName",true);
String userId=userIdDoc.getFirstItem("ValueTX").getValueString();
String passWd=passWdDoc.getFirstItem("ValueTX").getValueString();
String cmsName=cmsNameDoc.getFirstItem("ValueTX").getValueString();
String boxiAuthentication=boxiAuthenticationDoc.getFirstItem("ValueTX").getValueString();
String serverName=serverNameDoc.getFirstItem("ValueTX").getValueString();
String ReportCD=getReportCode;
IEnterpriseSession es = CrystalEnterprise.getSessionMgr().logon(userId, passWd, cmsName, boxiAuthentication);
String token=es.getLogonTokenMgr().getDefaultToken();
PrintWriter pw = getAgentOutput();
pw.println("[http://" + serverName + "/OpenDocument/opendoc/openDocument.jsp?sDocName=" + ReportCD + "&token=" + token + "]");
//es.logoff();
agentContext.recycle();
session.recycle();
java.beans.Introspector.flushCaches();
Note: Since we are using open document method of crystal reports port 8080 and 6400 must be opened at the Boxi servers.