Похоже, ваша проблема связана с дефектом, который они исправили в своей последней версии JasperReports Server (4.5
).JasperReports Server 4.2
имеет фильтр сервлетов (UploadMultipartFilter) в web.xml
, который принимает многочастные запросы, что нарушает работу Axis (библиотеки веб-служб, используемой iReports).Это вызывает ошибку.
Таким образом, чтобы исправить это, вы можете либо обновить их до версии 4.5
, либо внести следующие изменения в файлы конфигурации, расположенные в <jasperserver[-pro] root>/WEB-INF/web.xml
, и закомментировать следующие строки:
<!--
<filter>
<filter-name>multiPartHelperFilter</filter-name>
<filter-class>com.jaspersoft.jasperserver.war.common.UploadMultipartFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>multiPartHelperFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
-->
Добавив <!--
и -->
до и после тегов Filter и filter-mapping)
И затем отредактируйте WEB-INF/applicationContext-security-web.xml
, добавив фильтр в цепочку, которая отображает:
...
/** = httpSessionContextIntegrationFilter, uploadMultipartFilter, ${bean.loggingFilter},
${bean.userPreferencesFilter}, ${bean.authenticationProcessingFilter},
${bean.userPreferencesFilter}, ${bean.basicProcessingFilter},
requestParameterAuthenticationFilter, JIAuthenticationSynchronizer,
anonymousProcessingFilter, exceptionTranslationFilter, filterInvocationInterceptor,
switchUserProcessingFilter, iPadSupportFilter
...
<bean id="uploadMultipartFilter" class="com.jaspersoft.jasperserver.war.common.UploadMultipartFilter"/>
Добавив «uploadMultipartFilter» во второй позиции цепочек фильтров для URI / ** (обычно последнего в bean filterChainProxy) и сослаться на этот новый фильтр, добавив бин с идентификатором uploadMultipartFilter под bean filterChainProxy.