Why isn't the Spring AOP XML schema properly loaded when Tomcat loads & reads beans.xml
Posted
by
chrisbunney
on Stack Overflow
See other posts from Stack Overflow
or by chrisbunney
Published on 2010-12-14T09:41:56Z
Indexed on
2011/02/22
15:24 UTC
Read the original article
Hit count: 1165
I'm trying to use Spring's Schema Based AOP Support in Eclipse and am getting errors when trying to load the configuration in Tomcat.
There are no errors in Eclipse and auto-complete works correctly for the aop namespace, however when I try to load the project into eclipse I get this error:
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 .
Followed by:
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'.
Based on this, it seems the schema is not being read when Tomcat parses the beans.xml file, leading to the <aop:config>
element not being recognised.
My beans.xml file is as follows:
<?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>
The <aop:config>
element in my beans.xml
file is copy-pasted from the Spring website to try and remove any possible source of error
Can anyone shed any light on why this error is occurring and what I can do to fix it?
© Stack Overflow or respective owner