Hi,
Aleksey Andreyanov wrote:
Please, check the prerelease build from 2012.12.21. There was an improvement.
Thank you.
I updated all flex and java libraries to last available from Stimulsoft download. I still have error:
Code: Select all
java.lang.IllegalArgumentException: No enum constant com.stimulsoft.flex.utils.StiHttpParam.LoadData
at java.lang.Enum.valueOf(Enum.java:236)
at com.stimulsoft.flex.utils.StiHttpParam.valueOf(StiHttpParam.java:9)
at com.stimulsoft.web.servlet.StiViewerFxServlet.processing(StiViewerFxServlet.java:56)
at com.stimulsoft.web.servlet.StiViewerFxServlet.doPost(StiViewerFxServlet.java:46)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
...
This happens only if report has datasources inside. Just plain report without data is fine.
The way I launch report in viewer is:
1. Inialise the Java API Provider
Code: Select all
StiApiProvider.provider = new StiApiProviderJava(StiApiProvider.AppDesignerFx);
StiApiProvider.provider.addEventListener(StiApiProviderEvent.INITIALIZE_PROVIDER_RESULT, onStiInitialiseProiderResult);
StiApiProvider.provider.dispatchEvent(new StiApiProviderEvent(StiApiProviderEvent.INITIALIZE_PROVIDER, stiJavaServerUrl, StiProgressMode.Visible));
where stiJavaServerUrl is a path to servlet
Code: Select all
<servlet>
<servlet-name>StiViewerFx</servlet-name>
<servlet-class>com.stimulsoft.web.servlet.StiViewerFxServlet</servlet-class>
</servlet>
2. and chain of events after that
Code: Select all
protected function onStiInitialiseProiderResult(event:StiApiProviderEvent):void {
StiApiProvider.provider.removeEventListener(event.type, onStiInitialiseProiderResult);
ReportHelper.overrideViewerDesignerOptions();
StiViewerFx.initialize();
loadAndRunReport();
}
protected function loadAndRunReport():void {
var stiApiEvent: StiApiProviderEvent = new StiApiProviderEvent(StiApiProviderEvent.LOAD_REPORT, null,
StiProgressMode.VisibleCancel, ReportHelper.reportAsId(report));
StiApiProvider.provider.addEventListener(StiApiProviderEvent.LOAD_REPORT_RESULT, onLoadReportFileResult);
StiApiProvider.provider.dispatchEvent(stiApiEvent);
}
private function onLoadReportFileResult(event: StiApiProviderEvent): void {
StiApiProvider.provider.removeEventListener(event.type, onLoadReportFileResult);
// create report
var stiReport:StiReport = new StiReport();
stiReport.reportFile = event.fileName;
stiReport.reportName = event.fileName;
stiReport.reportAlias = event.fileName;
stiReport.loadReportFromString(event.stringData);
stiReport.isRendered = false;
stiReport.addEventListener(StiReportEvent.END_RENDER, onRenderComplete);
stiReport.render(true);
}
private function onRenderComplete(event: StiReportEvent): void {
event.report.removeEventListener(StiReportEvent.END_RENDER, onRenderComplete);
reportViewer.updateReport(event.report);
}
Is there something wrong in a way I show the report in viewer?
Best regards.