Я пытаюсь использовать Поддержка AOP Spring Schema в Eclipse и получаю ошибки при попытке загрузить конфигурацию в Tomcat.
В Eclipse нет ошибок, и автозаполнение работает правильно для пространства имен aop, однако при попытке загрузить проект в Eclipse я получаю эту ошибку:
09: 17: 59,515 WARN XmlBeanDefinitionReader: 47 - Игнорируемое предупреждение проверки XML
org.xml.sax.SAXParseException: schema_reference.4: не удалось прочитать документ схемы 'http://www.springframework.org/schema/aop/spring-aop-2.5.xsd',, так как 1) не удалось найти документ; 2) документ не может быть прочитан; 3) корневым элементом документа не является.
Далее:
SEVERE: StandardWrapper. Throwable
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: строка 39 в документе XML из /WEB-INF/beans.xml недопустима; вложенное исключение: org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: соответствующий подстановочный знак является строгим, но не найдено объявлений для элемента 'aop: config'.
Причина: org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: соответствующий шаблон подстановки является строгим, но не найдено объявлений для элемента 'aop: config'.
Исходя из этого, кажется, что схема не читается, когда Tomcat анализирует файл beans.xml, что приводит к тому, что элемент <aop:config>
не распознается.
Мой файл beans.xml выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
<!--import resource="classpath:META-INF/cxf/cxf.xml" /-->
<!--import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /-->
<!--import resource="classpath:META-INF/cxf/cxf-servlet.xml" /-->
<!-- NOTE: endpointName attribute maps to wsdl:port@name & should
be the same as the portName attribute
in the @WebService annotation on the IWebServiceImpl class -->
<!-- NOTE: serviceName attribute maps to wsdl:service@name & should be
the same as the serviceName attribute in the @WebService
annotation on the ASDIWebServiceImpl class -->
<!-- NOTE: address attribute is the actual URL of the web service
(relative to web app location) -->
<jaxws:endpoint
xmlns:tns="http://iwebservices.ourdomain/"
id="iwebservices"
implementor="ourdomain.iwebservices.IWebServiceImpl"
endpointName="tns:IWebServiceImplPort"
serviceName="tns:IWebService"
address="/I"
wsdlLocation="wsdl/I.wsdl">
<!-- To have CXF auto-generate WSDL on the fly, comment out the above wsdl
attribute -->
<jaxws:features>
<bean class="org.apache.cxf.feature.LoggingFeature" />
</jaxws:features>
</jaxws:endpoint>
<aop:config>
<aop:aspect id="myAspect" ref="aBean">
</aop:aspect>
</aop:config>
</beans>
Элемент <aop:config>
в моем файле beans.xml
скопирован с веб-сайта Spring , чтобы попытаться удалить любой возможный источник ошибки
Может кто-нибудь пролить свет на причины возникновения этой ошибки и что я могу сделать, чтобы ее исправить?