2

我正在使用 Netbeans 开发一个 Java 应用程序,它将从 OBIEE 10G 上的 BI 服务器获取报告并使用 Java 应用程序将其显示给客户端。谁能建议我执行此操作的适当步骤以及如何开始。

4

3 回答 3

1

你的问题不清楚;您是否尝试从 OBIEE 调用 Java 方法?

如果是:您可以通过创建链接到操作的代理来执行此操作。Action 可以调用 java 方法(在 EJB 中)。通过将代理连接到操作,您可以将其安排为作业。

于 2012-05-09T05:32:00.287 回答
1

首先,您将从 Presentation Services 而不是从 BI 服务器获取报告。BI 服务器是一个只有 SELECT 语句的数据库,而 Presentation Service 使用此 SELECT 来创建和格式化报告。

要将来自 BI Presentation 服务的报告集成到其他应用程序中,您可以使用:

这些链接指向相同的文档(集成商指南)。这是为 11g 编写的,但它也适用于 10g。

干杯尼科

于 2012-04-30T14:51:13.983 回答
1

虽然可以使用 web 服务和 GO url 来创建您的 web 应用程序,但这样做是一种非常困难的方法。如果您有选择,请使用最新的 JDeveloper 11g,然后使用这些步骤将您的 Answers Reports 或 Dashboards 拖放到 .jspx 页面。这很简单,只要您熟悉 JDeveloper,就可以在几分钟而不是几天内完成。

编辑:如果您仍想使用 Netbeans,这里有一段代码可以帮助您入门。在将其投入生产之前,请记住阅读并理解OBIEE 集成文档中的 HtmlViewService SOAP API 。

import oracle.bi.services.soap.*

SAWSessionParameters sessionParams = new SAWSessionParameters();
sessionParams.setUserAgent("Mozilla/...."); //Copy the exact agent from your Firefox menu Help > About

javax.xml.rpc.ServiceFactory factory = ServiceFactory.newInstance();
SAWSessionServiceSoap sessionService = ((SAWSessionService) factory.loadService(SAWSessionService.class)).getSAWSessionServiceSoap();

HtmlViewServiceSoap htmlService = ((HtmlViewService) factory.loadService(HtmlViewService.class)).getHtmlViewService();

AuthResult authResult = sessionService.logonex("replace_with_your_username", "replace_with_your_password", sessionParams); //You should reuse the session for multiple HTTP Requests from the same user
String sessionID = authResult.getSessionID();

StartPageParams pageParams = new StartPageParams();
pageParams.setIdsPrefix("replace_with_your_prefix");
String pageID = htmlService.startPage(pageParams, sessionID);

ReportRef report = new ReportRef();
report.setReportPath("replace_with_full_path_to_your_report");
htmlService.addReportToPage(pageID, "replace_with_your_report_name", report, null, null, null, sessionID);

String reportHTML = htmlService.getHtmlForReport(pageID, "replace_with_your_report_name", sessionID);
System.out.println(reportHTML); //Here's the report that you are looking for

htmlService.endPage(pageID, sessionID);
于 2012-08-21T14:20:49.650 回答