Запретить внешнюю ссылку для XSD на сервере WebLogic - PullRequest
0 голосов
/ 08 октября 2019

У меня есть приложение, которое использует конфигурацию spring-config-messaging-rollup.xml. При развертывании в weblogic в файле журнала возникает следующая последовательность ошибок:

Stack trace associated with message Error in starting the MDB MyMessageConsumerEJB follows:

java.lang.reflect.InvocationTargetException
...
Caused by: org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 77 in XML document from class path resource [spring-config-messaging-rollup.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 77; columnNumber: 104; cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'oxm:jaxb2-marshaller'.
...
10:26:00,050 WARN XmlBeanDefinitionReader - Ignored XML validation warning
org.xml.sax.SAXParseException; lineNumber: 77; columnNumber: 104; schema_reference.4: Failed to read schema document 'http://www.springframework.org/schema/oxm/spring-oxm.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.
...
Caused by: java.net.ConnectException: Tried all: '2' addresses, but could not connect over HTTP to server: 'www.springframework.org', port: '80'

tl; dr сервер не имеет доступа к Интернету, но пытается загрузить spring-oxm.xsd.

Есть ли способ сделать так, чтобы сервер использовал вместо этого локальную ссылку для этого файла?

1 Ответ

0 голосов
/ 09 октября 2019

Мне удалось обойти эту проблему. Оказывается, моя ссылка на http://www.springframework.org/schema/oxm/spring-oxm.xsd не была разрешена внутри, потому что файл spring.schemas в зависимом банке spring-oxm указывал на конкретную версию xsd. Это заставило распознаватель попытаться найти файл в Интернете.

Изменение моего конфигурационного файла Spring для ссылки на точную версию в соответствии с spring.schemas устранило проблему.

Это может помочьдобавьте, что кодовая база, которую я поддерживаю, использует устаревшую версию Spring - более новые реализации могут не иметь этой же проблемы.

...