2010-12-14 23 views
3

EclipseでSpring's Schema Based AOP Supportを使用しようとしていて、Tomcatで設定を読み込もうとするとエラーが発生します。Tomcatがbeans.xmlを読み込んで読み込むときにSpring AOPのXMLスキーマが正しく読み込まれないのです

09:17:59,515 WARN XmlBeanDefinitionReader:47 - Ignored XML validation warning org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'http://www.springframework.org/schema/aop/spring-aop-2.5.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not .

が続く:

SEVERE: StandardWrapper.Throwable org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 39 in XML document from /WEB-INF/beans.xml is invalid; nested exception is org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'aop:config'.

Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'aop:config'.

何のEclipseでエラーとオートコンプリートの作品は、私はこのエラーを取得するEclipseにプロジェクトをロードしようとただしたときに、AOPの名前空間に正しくありません

これに基づいて、Tomcatがbeans.xmlファイルを解析して<aop:config>要素が認識されなくなると、スキーマが読み取られていないようです。

エラーのいずれかの可能性のあるソースを試してみて、削除するSpring websiteから

<?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:[email protected] & should 
       be the same as the portName attribute 
       in the @WebService annotation on the IWebServiceImpl class --> 
    <!-- NOTE: serviceName attribute maps to wsdl:[email protected] & 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> 

beans.xmlファイル内<aop:config>要素をコピー&ペーストであることができ、誰:

次のように私のbeans.xmlファイルがありますこのエラーがなぜ発生しているのか、それを修正するために何ができるのかについては何かを明らかにしていますか?

+1

'http:// www.springframework.org/schema/aop/spring-aop-2.5.xsd'の代わりに' http:// www.springframework.org/schema/aop/spring-aop.xsd'を試してください。それが違いを生むかどうかを確認してください。 – skaffman

+0

'http:// www.springframework.org/schema/aop/spring-aop-2.5.xsd'の代わりに' http:// www.springframework.org/schema/aop/spring-aop.xsd'を試しました:Made違いはありません。同じエラーが発生しました – chrisbunney

+0

書式設定org.life.javaを改善していただきありがとうございます。私は例外をより読みやすくするために何をすべきかと思いました。 – chrisbunney

答えて

2

webappのWEB-INF/libフォルダにSpring AOP jar(spring-aop.jar)があることを確認してください。

これは、指定したXSDです。

関連する問題