내가 성공적으로이 같은 두 사람을 통해 this sample package에서 가져온/개방 "testWebReport.rptdesign"보고서를 볼 수 있습니다 BIRT 뷰어 및 PHP/자바 브릿지와 I를 설정 실행할 수 없습니다 :BIRT - .rptdesign 오류를 가지고
을BIRT 뷰어 :
http://192.168.0.90:8080/birt/run?__report=report/testWebReport.rptdesign
PHP/자바 브릿지 : Source/tutorial
<?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;
?>
Eclipse 용 BIRT에서 새 보고서를 만든 다음 두 가지 방법으로 실행하려고 시도하지만 첫 번째 방법 만 작동합니다. [) 문자열 : - "의 java.lang.Exception을 :
나는 이미 내가 데이터베이스에 대한 연결을 가지고 있으며, 일부 차트를 표시하거나 그냥 만들 보고서를 작성하는 경우는 문제가되지 않기 때문에 문제의 원인이 무엇 보고서의 내용이 아니라고 발견[[O : 예외 제 2 일 동안 나는이 메시지를 가지고 호출에 실패했습니다 : [[O> openReportDesign ((O ReportEngine] o : String]) 원인 : org.eclipse.birt.report.engine.api.EngineException : 디자인 파일 파일 :/C :/Program % 20Files % 20 (x86) /EasyPHP-5.3.9/www /BirtBridgeTest/payment.rptdesign 은 오류가있어서 실행할 수 없습니다. VM : [email protected] : //java.oracle.com/ " at : # -14 org.eclipse.birt.report.engine. api.impl.ReportEngineHelper.getReportDesignHandle (ReportEngineHelper.java:260) # -13 org.eclipse.birt.report.engine.api. (ReportEngineHelper.java:196) # -12 org.eclipse.birt.report report.engine.api.impl.ReportEngineHelper.openReportDesign (ReportEngineHelper.java:130) # -10 org.eclipse.birt.report.engine.api.impl.ReportEngine.openReportDesign (ReportEngine.java:304) # -9 sun.reflect.NativeMethodAccessorImpl.invoke0 (기본 방법) # -8 sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57) # -7 sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) # -6 java.lib.Invoke (JavaBridge.java:1044) # st (Request.java:417) # -3 php.java.bridge.Request.handleRequests (Request.java:500) # -2 php.java.bridge.http.ContextRunner.run (ContextRunner.java:145) # 0 php.java.bridge.ThreadPool $ Delegate.run (ThreadPool.java:60) # 0 C : \ Program Files (EasyPHP-5.3.9 \ www \ BirtBridgeTest \ java \ Java.inc) (232) : java_hrowExceptionProxyFactory-> getProxy (6, '@V', 'T', true) # 1 C : \ Program Files (x86) \ EasyPHP-5.3.9 \ www \ BirtBridgeTest \ java \ Java. java_Arg-> getResult (true) # 2 C : \ Program Files (x86) \ EasyPHP-5.3.9 \ www \ BirtBridgeTest \ java \ Java.inc (366) : java_Client-> getWrappedResult (255) : java_Arg-> getResult true) # 3 C : \ Program Files (x86) \ EasyPHP-5.3.9 \ ww B EasyBridgeTest \ java \ Java.inc (1752) \ EasyBootTest \ java \ Java.inc (560) : java_Client-> getResult() # 4 C : \ Program Files (x86) \ EasyPHP-5.3.9 \ : java_Client-> invokeMethod (4, 'openReportDesig ...', Array) # 5 C : \ Program Files (x86) \ EasyPHP-5.3.9 \ www \ BirtBridgeTest \ java \ Java.inc (1851) : java_JavaProxy -> __ call ('openReportDesig ...', Array) # 6 C : \ Program 파일 (x86) \ EasyPHP-5.3.9 \ www \ BirtBridgeTest \ java \ Java.inc (1999) : java_AbstractJava-> _ 전화 ('openReportDesig ...', Array) # 7 C : \ Program 파일 (x86) \ EasyPHP-5.3.9 \ www \ BirtBridgeTest \ HTMLOutput.php (20) : Java-> _call ('openReportDesig ... ', Array) # 8 C : \ 프로그램 파일 (86) \ EasyPHP-5.3.9 \ www가 \ BirtBridgeTest \ HTMLOutput.php (20) : java_InternalJava-> openReportDesign ('C : \ 프로그램 파일 ...') # 9 {주} ]
공백 - 결과는 같습니다.
누구에게도 해결책이 있습니까? 며칠 동안 내 작업이 진행되는 것을 막을 수 있습니다.
아무도 이에 대한 설명이 있습니까? PHP/Java Bridge에서 문제가 있습니까? – petter386
브릿지를 생각하지 마십시오. 순수 자바 애플리케이션에서 동일한 문제가 있습니다. – Kingsolmn
그 트릭을 했어! 대단히 감사합니다! – Kingsolmn