打开文档时遇到问题。
reportEngines =
(ReportEngines) enterpriseSession.getService("ReportEngines");
ReportEngine wiRepEngine =
(ReportEngine) reportEngines.getService(
ReportEngines.ReportEngineType.WI_REPORT_ENGINE);
/*
* Process Webi Documents from a folder
* */
for (Object object : infoObjects) {
IInfoObject infoObject = (IInfoObject) object;
String path = getInfoObjectPath(infoObject);
if (path.startsWith("/")) {
String doc = infoObject.getTitle();
System.out.println("Title :" + doc + "\n ID " + infoObject.getID() );
System.out.println(path + "/" + doc);
System.out.println(infoObject.toString());
DocumentInstance widoc = wiRepEngine.openDocument(infoObject.getID());
}
}
Run Code Online (Sandbox Code Playgroud)
调用 openDocument() 时抛出以下异常
com.businessobjects.rebean.wi.CommunicationException: Cannot initialize Report Engine server. (Error: RWI 00226)
at com.businessobjects.rebean.wi.occa.OccaConnection.doConnect(Unknown …Run Code Online (Sandbox Code Playgroud) 我想使用BusinessObjects存储库中包含的信息作为Crystal Reports的数据源.遗憾的是,此信息不会保存在简单的表结构中 - 大多数属性都存储在加密的二进制字段中.
有很多方法可以访问BO的存储库:
选项1在我的情况下不起作用,因为我想使用BO Enterprise部署报告,而不是自定义Web应用程序.
选项2可能有效,但我不确定Crystal Reports与SOAP的接口有多好,特别是因为它需要连接到第二个SOAP服务进行身份验证.
选项3不起作用,因为它返回HTML(不是XHTML)
此时我最可行的选择是重写#3以返回XML文档并创建支持的XSD.如果我这样做,我可能会在github上发布解决方案.
另一种选择是(以某种方式)在SOAP服务周围添加REST包装器.这听起来像是一项非常艰巨的任务.
有没有人做过我需要做的事情?
我有一个应用程序,它使用Crystal Report COM SDK来创建和操作Crystal Enterprise 10存储库的报表.我想从Crystal Enterprise 10升级到BusinessObjects XI,并尝试最小化对现有应用程序的更改.我记得最初的BusinessObjects XI版本提供了COM SDK,但我不确定当前的状态.
什么是提供COM SDK的BusinessObjects XI的最新版本?该版本的BusinessObjects Enterprise是否仍然可用,是否仍支持COM SDK?