Я успешно настроил BIRT Viewer и PHP/Java Bridge и могу просматривать/открывать отчет "testWebReport.rptdesign", полученный с этот образец пакета через оба из них следующим образом:
Просмотрщик BIRT:
http://192.168.0.90:8080/birt/run?__report=report/testWebReport.rptdesign
Мост PHP/Java: Источник/руководство а>
<?php
define ("JAVA_HOSTS", "192.168.0.90:8080");
define ("JAVA_SERVLET", "/JavaBridge/JavaBridge.phpjavabridge");
$pth = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
$path_parts = pathinfo($pth);
$imageURLPrefix = $path_parts['dirname'] ."/sessionChartImages/";
require_once("java/Java.inc");
session_start();
$here = getcwd();
$ctx = java_context()->getServletContext();
$birtReportEngine = java("org.eclipse.birt.php.birtengine.BirtEngine")->getBirtEngine($ctx);
java_context()->onShutdown(java("org.eclipse.birt.php.birtengine.BirtEngine")->getShutdownHook());
try{
$report = $birtReportEngine->openReportDesign("${here}/payment.rptdesign");
$task = $birtReportEngine->createRunAndRenderTask($report);
$taskOptions = new java("org.eclipse.birt.report.engine.api.HTMLRenderOption");
$outputStream = new java("java.io.ByteArrayOutputStream");
$taskOptions->setOutputStream($outputStream);
$taskOptions->setOutputFormat("html");
$ih = new java( "org.eclipse.birt.report.engine.api.HTMLServerImageHandler");
$taskOptions->setImageHandler($ih);
$taskOptions->setBaseImageURL($imageURLPrefix . session_id());
$taskOptions->setImageDirectory($here . "/sessionChartImages/" . session_id());
$task->setRenderOption( $taskOptions );
$task->run();
$task->close();
} catch (JavaException $e) {
echo $e; //"Error Calling BIRT";
}
echo $outputStream;
?>
Теперь я создаю новый отчет в BIRT для Eclipse, а затем пытаюсь запустить его обоими способами, но работает только первый. Для второго я получил это сообщение:
Я уже выяснил, что проблема заключается не в содержании отчета, потому что не имеет значения, создаю ли я отчет, который имеет соединение с базой данных и отображает некоторые диаграммы, или я просто создаю пустой - результат тоже самое.
У кого-нибудь есть решение для этого? Это действительно препятствует любому прогрессу в моей работе в течение нескольких дней.
Я, наконец, решил эту проблему, отредактировав следующую строку на вкладке Eclipse «Источник XML»: