cancel
Showing results for 
Search instead for 
Did you mean: 

Exception in reportAppFactory.openDocument

Former Member
0 Kudos

Post Author: advt.reply.sk

CA Forum: JAVA

Hi all,

Below mentioned problem got solved when I replaced following jars

cecore.jar,celib.jar,ceplugins.jar,cereports.jar,cesession.jar,corbaidl.jar,ebus405.jar,rasapp.jar,rascore.jar

(Copied from \Program Files\Business Objects\common\3.5\java\lib\ )

Now I could run the java successfully from the Windows Machine where Crystal Report XI R2 is installed. But same java code gets hung after reportAppFactory.openDocument on tightly coupled 64-bin Linux Machine on the same network. The same java code also works from another Windows Machine on the same network. So is this a Closed Port or Security issue?

OutPut on Linux machine:

After iStore.After infoObjects.After infoObject.After reportAppFactory.

OutPut on Windows machine:

After iStore.After infoObjects.After infoObject.After reportAppFactory.After clientDoc.

Thanks,

SK

_______________________________________________________________________

Product: Crystal Report XI R2 Version: 11.5.3.438Patches Applied: BusinessObjects Enterprise XI R2 Service pack 1 and BusinessObjects XI R2 Monthly Hot Fix 1Operating System(s): Windows 2003 Enterprise Edition Service Pack 1Database(s): Oracle 10gError Messages(Sample Output): After iStore.After infoObjects.After infoObject.After reportAppFactory.Exception in thread "main" com.crystaldecisions.sdk.occa.managedreports.ras.internal.a: Cannot open report document. - Cannot logon with the custom database information specified in the InfoStore. This is a configuration problem. Pleasecontact your system administrator.cause:com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException: Cannotlogon with the custom database information specified in the InfoStore. This isa configuration problem. Please contact your system administrator.-- Error code:-2147467259 Error code name:faileddetail:Cannot open report document. - Cannot logon with the custom database information specified in the InfoStore. This is a configuration problem. Please contact your system administrator.The exception originally thrown was com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException: Cannot logon with the custom database information specified in the InfoStore. This is a configuration problem. Please contact your system administrator.-- Error code:-2147467259 Error code name:failed at com.crystaldecisions.sdk.occa.managedreports.ras.internal.RASReportAppFactory.a(Unknown Source) at com.crystaldecisions.sdk.occa.managedreports.ras.internal.RASReportAppFactory.a(Unknown Source) at com.crystaldecisions.sdk.occa.managedreports.ras.internal.RASReportAppFactory.openDocument(Unknown Source) at ReportTest.main(ReportTest.java:107)Caused by: com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException: Cannot logon with the custom database information specified in the InfoStore. This is a configuration problem. Please contact your system administrator.---- Error code:-2147467259 Error code name:failed at com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException.throwReportSDKServerException(Unknown Source) at com.crystaldecisions.proxy.remoteagent.r.a(Unknown Source) at com.crystaldecisions.sdk.occa.report.application.ReportClientDocument.if(Unknown Source) at com.crystaldecisions.sdk.occa.report.application.ReportClientDocument.a(Unknown Source) at com.crystaldecisions.sdk.occa.report.application.ClientDocument.open(Unknown Source) ... 3 more

Steps to Reproduce:On running following sample java code, I get above exception while opening a document.Report am trying to access(SM106), got published successfully and even I could view/generate that report from Java Admin Console.

import com.crystaldecisions.enterprise.ocaframework.ServiceNames;import com.crystaldecisions.sdk.framework.CrystalEnterprise;import com.crystaldecisions.sdk.framework.IEnterpriseSession;import com.crystaldecisions.sdk.framework.ISessionMgr;import com.crystaldecisions.sdk.occa.infostore.IInfoObject;import com.crystaldecisions.sdk.occa.infostore.IInfoObjects;import com.crystaldecisions.sdk.occa.infostore.IInfoStore;import com.crystaldecisions.sdk.occa.managedreports.IReportAppFactory;import com.crystaldecisions.sdk.occa.report.application.ReportClientDocument;

public class ReportTest {

public static void main(String[] args) throws Exception { String cms = "FSIVM07"; //REPLACE::CMS name String username = "Administrator"; String password = ""; String auth = "secEnterprise";

String reportName = "SM106";

IEnterpriseSession enterpriseSession = null;

ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();

Exception failure = null;

boolean loggedIn = true;

// This ReportClientDocument will be used by the main page

ReportClientDocument clientDoc = null;

if (enterpriseSession == null) {

try {

// Create an Enterprise session manager object

ISessionMgr sm = CrystalEnterprise.getSessionMgr();

// Log on to the CMS

enterpriseSession = sm.logon(username, password, cms, auth);

} catch (Exception error) {

loggedIn = false;

failure = error;

}

if (!loggedIn) {

// If the login fails, redirect the user to the start page

System.out.println( "Sorry - you could not be logged on to this server." + " Ensure that your user name and password, as well as the CMS name are correct.");

return;

} else {

// Create the IInfoStore object

IInfoStore iStore = (IInfoStore) enterpriseSession.getService( "InfoStore", ServiceNames.OCA_I_IINFO_STORE); System.out.println("After iStore.");

// Use a query string to select a report with the name reportName

IInfoObjects infoObjects = iStore.query( "Select SI_ID, SI_PARENT_FOLDER From CI_INFOOBJECTS Where SI_NAME = '" + reportName + "'"); System.out.println("After infoObjects.");

if (infoObjects.size() < 1){ System.out.println("Result size less than one"); return; }

// Get the first match

IInfoObject infoObject = (IInfoObject) infoObjects.get(0); System.out.println("After infoObject.");

// Create an IReportAppFactory object

IReportAppFactory reportAppFactory = (IReportAppFactory) enterpriseSession.getService( "RASReportFactory"); System.out.println("After reportAppFactory.");

// Use the IReportAppFactory object to create a ReportClientDocument object using the IInfoObject retrieved in the query above

clientDoc = reportAppFactory.openDocument( infoObject.getID(), 0, java.util.Locale.US); System.out.println("After clientDoc.");

} } }}

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Post Author: timelink

CA Forum: JAVA

Hi, has anyone been able to resolve this issue? I'd love to hear some feedback.

Former Member
0 Kudos

Post Author: bedla

CA Forum: JAVA

Hello, this happened to me as well. While running RHEL on VMWare machine code hung when I called openDocument(...) . This may be caused that althoughyou can see the Linux and execute openDocument(), Linux can not see your machine and the server thread hungs. Make sure the Linux machines can see you.I also came across a problem that even if the code come to an end, the application still does not finish, hungs. Note hovewer that this happens only when run as an stand-alone application (as you have). You can always use System.exit(0) 😛 M.

Former Member
0 Kudos

Post Author: bedla

CA Forum: JAVA

Hello, this happened to me as well. While running RHEL on VMWare machine code hung when I called openDocument(...) . This may be caused that althoughyou can see the Linux and execute openDocument(), Linux can not see your machine and the server thread hungs. Make sure the Linux machines can see you.I also came across a problem that even if the code come to an end, the application still does not finish, hungs. Note hovewer that this happens only when run as an stand-alone application (as you have) You can always use System.exit(0) 😛 M.