Почему XML-схема Spring AOP неправильно загружается, когда Tomcat загружает и читает beans.xml - PullRequest
4 голосов
/ 14 декабря 2010

Я пытаюсь использовать Поддержка 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 , чтобы попытаться удалить любой возможный источник ошибки

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

1 Ответ

3 голосов
/ 22 февраля 2011

Убедитесь, что у вас есть jar Spring AOP (spring-aop.jar) в папке WEB-INF / lib вашего веб-приложения.

Эта банка находится в указанном XSD.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...