После обновления Spring Boot 1.5.18 до более поздней версии я получил следующую ошибку:
Не поддерживается: http://javax.xml.XMLConstants/property/accessExternalDTD
После некоторых исследований я обнаружил, что эта проблема начинается с Spring-XML 2.4.4.
Я решил это с помощью https://access.redhat.com/solutions/1410603,, но после этого я получил следующую ошибку:
org.springframework.xml.validation.XmlValidationException: не удалось создать схему: текущая конфигурация синтаксического анализатора не позволяет устанавливать значение атрибута maxOccurs больше, чем значение 5.000
Как изменить синтаксический анализатор так, чтобы он принимал более высокие значения maxOccurs, чем 5000, в моем XSD с Spring-XML версии 2.4.4 или выше?
Я попытался использовать System.setProperty ("jdk.xml.maxOccurLimit", "XXXXX") и попытался установить атрибуты или свойства, как в https://docs.oracle.com/javase/tutorial/jaxp/limits/using.html
Это bean-компонент, который создает исключение:
@Bean
public PayloadValidatingEndpointInterceptor payloadValidatingEndpointInterceptor() {
PayloadValidatingEndpointInterceptor payloadValidatingEndpointInterceptor = new PayloadValidatingEndpointInterceptor();
payloadValidatingEndpointInterceptor.setValidateRequest(true);
payloadValidatingEndpointInterceptor.setValidateResponse(true);
payloadValidatingEndpointInterceptor.setXsdSchema(schema());
return payloadValidatingEndpointInterceptor;
}