5

我想将 BusinessObjects 存储库中包含的信息用作 Crystal Reports 的数据源。不幸的是,这些信息并没有保存在简单的表结构中——大多数属性都存储在加密的二进制字段中。

以下是访问 BO 存储库的多种方式:

  1. “传统” SDK(Java、COM、.Net)
  2. SOAP SDK (http://[server:port]/dswsbobje/services/listServices)
  3. 查询工具(http://[server:port]/businessobjects/enterprise[11|115|12]/adminlaunch/query/)

选项 1 在我的情况下不起作用,因为我想使用 BO Enterprise 部署报告,而不是自定义 Web 应用程序。

选项 2 可能有效,但我不确定 Crystal Reports 与 SOAP 的接口有多好,尤其是因为它需要连接到第二个 SOAP 服务以进行身份​​验证。

选项 3 不起作用,因为它返回 HTML(不是 XHTML)

在这一点上,我最可行的选择是重写 #3 以返回 XML 文档并创建支持的 XSD。如果我这样做,我可能会在 github 上发布解决方案。

另一种选择是(以某种方式)在 SOAP 服务周围添加一个 REST 包装器。这听起来是一项相当艰巨的任务。

有没有人成功地完成了我需要做的事情?

4

1 回答 1

0

SOAP 选项将是最直接的,因为启用 Web 服务是一个非常简单的选项,在 XML 配置文件中切换,然后重新启动 Tomcat。

REST 选项可能已经可用,但取决于您的特定 BO 版本。我很确定 Explorer 在 XI R2 时代具有某种类型的 REST 选项,并且从 BO 4.0、SP4 开始,您应该能够做到这一点:http: //help.sap.com/businessobject/product_guides/boexir4 /en/xi4_bip_rest_ws_en.pdf

最后,您可以选择直接通过 ODBC 访问存储库数据库。从 4.0 开始,MS SQL Server 2008 是 Windows 的默认值,IBM DB2 是 unix 或 linux 的默认值,但 MySQL(之前的默认选项)仍然可以使用。其中任何一个都应该可以直接访问,并提供比标准 repo 接口更多的细节。

如果您采用直接访问路线,出于安全原因,我建议您设置代理,或复制到已经处理您的报告需求的数据库中。

于 2014-09-10T00:51:48.717 回答