Problem mit Maven, Tomcat, Spring und XML-Schema

tfa

Top Contributor
Hi!
Ich versuche jetzt schon den halben Tag, ein Problemchen mit der Validierung eines XML-Files gegen ein Schema zu lösen.

Ich habe einen Application-Server, der über Maven auf Tomcat gestartet werden soll. Hierzu verwende ich das tomcat-maven-plugin
mit folgenden Goals: [c]compile org.codehaus.mojo:tomcat-maven-plugin:1.1:run[/c]

Im Server gibt es eine Spring-Config-Datei namens security.xml, die folgendermaßen beginnt (wie in den Docs vorgeschlagen):

[XML]<?xml version="1.0" encoding="UTF-8"?>

<beans:beans xmlns="http ://www.springframework.org/schema/security"
xmlns:beans="http ://www.springframework.org/schema/beans"
xmlns:xsi="http ://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http ://www.springframework.org/schema/beans
http ://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http ://www.springframework.org/schema/security
http ://www.springframework.org/schema/security/spring-security-3.0.3.xsd">

<authentication-manager alias="authenticationManager" >
<authentication-provider user-service-ref="userService"/>
</authentication-manager>
....
</beans:beans>[/XML]
(Die Leerzeichen hinter http muss man sich wegdenken. Die sind nur dafür da, dass die Forensoftware nichts umformartiert)


Beim Starten des Servers bekomme ich aber:
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 'authentication-manager'.

Im XSD für Spring-Security ist das Element 'authentication-manager' allerdings definiert.

Ich vermute, dass die falsche Schema-Definition verwendet wird. Früher war das Projekt auf Spring 2.5 (da gab es dieses Element wirklich nicht) und wird jetzt auf Spring 3.0 portiert.

Im Maven-POM sind keine Abhängigkeiten mehr zu alten Spring-2.5-Paketen vorhanden. In Eclipse wird das XML auch als richtig validiert - aber davon weiß Maven ja nichts.

Jetzt ist die Frage, welche Schema-Definition wird hier verwendet? Wie finde ich das raus? Ich habe in meiner log4j.xml Debugging für Spring eingeschaltet, aber es wird nichts brauchbares ausgegeben. Hat jemand einen Tipp?
 

Zurück
Oben