Ошибка при формировании отчета

Обсуждение Stimulsoft Reports.JAVA
alexeyfressko
Сообщения: 100
Зарегистрирован: 17 фев 2015, 00:40

Ошибка при формировании отчета

Сообщение alexeyfressko »

Хочу обновиться с версии 2017.1.3 до 2018.1.2

Мой отчет и источник данных JSON во вложении.

Генерирую отчет: один, два, три раза...

На четвертый раз (не всегда, иногда больше удачных попыток) при генерации сервер начинает выдавать ошибку:

java.net.MalformedURLException: no protocol: {records.logoImage}
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at com.stimulsoft.report.components.simplecomponents.StiImage.getImageFromUrl(StiImage.java:190)
at com.stimulsoft.report.components.simplecomponents.StiImage.setImageURLValue(StiImage.java:424)
at com.stimulsoft.report.expressions.StiUnifiedExpression.setValue(StiUnifiedExpression.java:64)
at com.stimulsoft.report.expressions.StiUnifiedExpression.set(StiUnifiedExpression.java:30)
at com.stimulsoft.report.expressions.StiUnifiedExpression.Set(StiUnifiedExpression.java:34)
at com.stimulsoft.report.components.simplecomponents.StiImage.setImageURL(StiImage.java:446)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.stimulsoft.base.serializing.StiDeserializerReport.setPropertyInInstance(StiDeserializerReport.java:301)
at com.stimulsoft.base.serializing.StiDeserializerReport.deserializeChildren(StiDeserializerReport.java:122)
at com.stimulsoft.base.serializing.StiDeserializerReport.deserialize(StiDeserializerReport.java:82)
at com.stimulsoft.base.serializing.StiDeserializerControler.deserializeBranch(StiDeserializerControler.java:263)
at com.stimulsoft.base.serializing.StiDeserializerReport.deserializeObject(StiDeserializerReport.java:173)
at com.stimulsoft.base.serializing.StiDeserializerReport.deserializObjectInList(StiDeserializerReport.java:244)
at com.stimulsoft.base.serializing.StiDeserializerReport.listObject(StiDeserializerReport.java:229)
at com.stimulsoft.base.serializing.StiDeserializerReport.deserializeCollection(StiDeserializerReport.java:203)
at com.stimulsoft.base.serializing.StiDeserializerReport.deserializeChild(StiDeserializerReport.java:140)
at com.stimulsoft.base.serializing.StiDeserializerReport.deserializeChildren(StiDeserializerReport.java:110)
at com.stimulsoft.base.serializing.StiDeserializerReport.deserialize(StiDeserializerReport.java:82)
at com.stimulsoft.base.serializing.StiDeserializerControler.deserializeBranch(StiDeserializerControler.java:263)
at com.stimulsoft.base.serializing.StiDeserializerReport.deserializeObject(StiDeserializerReport.java:173)
at com.stimulsoft.base.serializing.StiDeserializerReport.deserializObjectInList(StiDeserializerReport.java:244)
at com.stimulsoft.base.serializing.StiDeserializerReport.listObject(StiDeserializerReport.java:229)
at com.stimulsoft.base.serializing.StiDeserializerReport.deserializeCollection(StiDeserializerReport.java:203)
at com.stimulsoft.base.serializing.StiDeserializerReport.deserializeChild(StiDeserializerReport.java:140)
at com.stimulsoft.base.serializing.StiDeserializerReport.deserializeChildren(StiDeserializerReport.java:110)
at com.stimulsoft.base.serializing.StiDeserializerReport.deserialize(StiDeserializerReport.java:82)
at com.stimulsoft.base.serializing.StiDeserializerControler.deserializeBranch(StiDeserializerControler.java:263)
at com.stimulsoft.base.serializing.StiDeserializerReport.deserializeObject(StiDeserializerReport.java:173)
at com.stimulsoft.base.serializing.StiDeserializerReport.deserializObjectInList(StiDeserializerReport.java:244)
at com.stimulsoft.base.serializing.StiDeserializerReport.listObject(StiDeserializerReport.java:229)
at com.stimulsoft.base.serializing.StiDeserializerReport.deserializeCollection(StiDeserializerReport.java:203)
at com.stimulsoft.base.serializing.StiDeserializerReport.deserializeChild(StiDeserializerReport.java:140)
at com.stimulsoft.base.serializing.StiDeserializerReport.deserializeChildren(StiDeserializerReport.java:110)
at com.stimulsoft.base.serializing.StiDeserializerReport.deserialize(StiDeserializerReport.java:82)
at com.stimulsoft.base.serializing.StiDeserializerControler.deserializeReportWithoutException(StiDeserializerControler.java:126)
at com.stimulsoft.base.serializing.StiDeserializerControler.deserializeReport(StiDeserializerControler.java:111)
at com.stimulsoft.report.StiSerializeManager.deserializeReport(StiSerializeManager.java:66)
at com.stimulsoft.report.StiSerializeManager.deserializeReport(StiSerializeManager.java:54)
at com.mobilvendor.reports.Common.loadReport(Common.java:192)
at org.apache.jsp.viewer_jsp._jspService(viewer_jsp.java:90)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

перезапускаю сервер: еще три удачных генераций, потом ошибка, и так далее.

В версии 2017.1.3 такой проблемы нет.
Вложения
Report.xml
Шаблон
(79.47 КБ) 449 скачиваний
report-service.json
Данные
(7.43 КБ) 486 скачиваний
report.pdf
PDF
(132.05 КБ) 387 скачиваний
alexeyfressko
Сообщения: 100
Зарегистрирован: 17 фев 2015, 00:40

Re: Ошибка при формировании отчета

Сообщение alexeyfressko »

Долго ждать ответа?
Vadim
Сообщения: 107
Зарегистрирован: 04 апр 2013, 12:26

Re: Ошибка при формировании отчета

Сообщение Vadim »

Здравствуйте.
Мы не можем воспроизвести проблему, вы можете сделать пример класса в котором генерируется отчет с ошибкой ?
alexeyfressko
Сообщения: 100
Зарегистрирован: 17 фев 2015, 00:40

Re: Ошибка при формировании отчета

Сообщение alexeyfressko »

Здравствуйте.

Url формирования отчета выглядит следующим образом:

http://ALEXEY3:8090/MobilVendorReports/ ... wnload=pdf

Прикрепляю файл viewer.jsp. По данному url отчет генерируются сразу в PDF.

Важное дополнение.

При обновлении файлов JAR до версии 2018.1.2 я сначала не скопировал новый файл svg-salamander-1.0.jar. И генерация отчета происходит как я описал в самом начале этой темы.

С файлом svg-salamander-1.0.jar - отчет генерируются всегда, но после четвертого (или пятого раза) в консоли появляется то же самое сообщение (java.net.MalformedURLException: no protocol: {records.logoImage} и так далее), но отчет генерируются уже без изображения.
Вложения
report.pdf
Отчет без лого. Лого должно быть в левом верхнем углу.
(117.62 КБ) 281 скачивание
viewer.zip
(1.37 КБ) 217 скачиваний
Vadim
Сообщения: 107
Зарегистрирован: 04 апр 2013, 12:26

Re: Ошибка при формировании отчета

Сообщение Vadim »

Здравствуйте.
Попробуйте новые библиотеки, будет ли воспроизводиться проблема ?
https://drive.google.com/file/d/1YTvTXa ... sp=sharing
alexeyfressko
Сообщения: 100
Зарегистрирован: 17 фев 2015, 00:40

Re: Ошибка при формировании отчета

Сообщение alexeyfressko »

не помогло.

В консоли также появилось такое сообщение:

[Fatal Error] :1:1: Premature end of file.
Error processing svgSalamander:/file.svg
Premature end of file.

Дополнение: когда удаляю из отчета все кроме компонента logoImage - проблема та же, но уже через 40-50 генераций отчета.
Vadim
Сообщения: 107
Зарегистрирован: 04 апр 2013, 12:26

Re: Ошибка при формировании отчета

Сообщение Vadim »

Здравствуйте.
Попробуйте новые библиотеки
https://drive.google.com/file/d/18itvqf ... sp=sharing
alexeyfressko
Сообщения: 100
Зарегистрирован: 17 фев 2015, 00:40

Re: Ошибка при формировании отчета

Сообщение alexeyfressko »

Не помогло.
Vadim
Сообщения: 107
Зарегистрирован: 04 апр 2013, 12:26

Re: Ошибка при формировании отчета

Сообщение Vadim »

Здравствуйте.
Попробуйте новые библиотеки
https://drive.google.com/file/d/1SaMRIm ... sp=sharing
alexeyfressko
Сообщения: 100
Зарегистрирован: 17 фев 2015, 00:40

Re: Ошибка при формировании отчета

Сообщение alexeyfressko »

Работает. Два вопроса:

1. Можно использовать эти библиотеки или подождать обновления?
2. svg-salamander-1.0.jar - нужно ли копировать в lib проекта? Сейчас все работает без этого файла.
Ответить