2013-03-22 45 views
0

我在学习CXF。我刚刚下载了最新的和正在运行的样本。我能够成功运行“基本”jax-rs演示。我现在正在尝试“spring_security”演示。我看到下面的异常运行的服务器应用程序时:cxf spring_security示例失败

Mar 22, 2013 8:51:39 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions 
INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/beans.xml] 
Mar 22, 2013 8:52:00 AM org.springframework.util.xml.SimpleSaxErrorHandler warning 
WARNING: Ignored XML validation warning 
org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'http://www.springframework.org/schema 
/security/spring-security-2.0.4.xsd', because 1) could not find the document; 2) the document could not be read; 3) the 
root element of the document is not <xsd:schema>. 
     at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java: 
195) 
     at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.warning(ErrorHandlerWrapper.java:96) 
     at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:380) 
     at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318) 
     at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaErr(XSDHandler.java:2541) 
     at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaWarning(XSDHandler.java:2532) 
     at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getSchemaDocument(XSDHandler.java:1836) 
     at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:531) 
     at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:556) 
     at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.findSchemaGrammar(XMLSchemaValidator.java:2443) 

     at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1788 
) 
     at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:711) 
     at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.ja 
va:400) 
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocument 
FragmentScannerImpl.java:2756) 
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647) 
     at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140) 
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScanne 
rImpl.java:511) 
     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808) 
     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) 
     at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119) 
     at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:232) 
     at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284) 
     at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:75) 
     at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.j 
ava:388) 
     at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.jav 
a:334) 
     at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.jav 
a:302) 
     at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefini 
tionReader.java:143) 
     at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefini 
tionReader.java:178) 
     at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefini 
tionReader.java:149) 
     at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext 
.java:124) 
     at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext 
.java:93) 
     at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefresha 
bleApplicationContext.java:130) 
     at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationCont 
ext.java:467) 
     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:397) 
     at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282) 
     at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204) 
     at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) 
     at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:771) 
     at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:411) 
     at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:763) 
     at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:247) 
     at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1238) 
     at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:706) 
     at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:480) 
     at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
     at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229) 
     at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
     at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95) 
     at org.eclipse.jetty.server.Server.doStart(Server.java:277) 
     at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
     at demo.jaxrs.servlet.Server.<init>(Server.java:55) 
     at demo.jaxrs.servlet.Server.main(Server.java:61) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:291) 
     at java.lang.Thread.run(Thread.java:662) 
Mar 22, 2013 8:52:00 AM org.springframework.web.context.ContextLoader initWebApplicationContext 
SEVERE: Context initialization failed 
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 53 in XML document from ServletContext resou 
rce [/WEB-INF/beans.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matc 
hing wildcard is strict, but no declaration can be found for element 'security:global-method-security'. 
     at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.j 
ava:396) 
     at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.jav 
a:334) 
     at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.jav 
a:302) 
     at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefini 
tionReader.java:143) 
     at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefini 
tionReader.java:178) 
     at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefini 
tionReader.java:149) 
     at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext 
.java:124) 
     at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext 
.java:93) 
     at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefresha 
bleApplicationContext.java:130) 
     at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationCont 
ext.java:467) 
     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:397) 
     at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282) 
     at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204) 
     at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) 
     at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:771) 
     at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:411) 
     at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:763) 
     at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:247) 
     at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1238) 
     at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:706) 
     at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:480) 
     at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
     at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229) 
     at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
     at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95) 
     at org.eclipse.jetty.server.Server.doStart(Server.java:277) 
     at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
     at demo.jaxrs.servlet.Server.<init>(Server.java:55) 
     at demo.jaxrs.servlet.Server.main(Server.java:61) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:291) 
     at java.lang.Thread.run(Thread.java:662) 
Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration ca 
n be found for element 'security:global-method-security'. 
     at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java: 
195) 
     at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131) 
     at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384) 
     at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318) 
     at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator 
.java:423) 
     at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3188) 

     at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1933 
) 
     at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:711) 
     at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.ja 
va:400) 
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocument 
FragmentScannerImpl.java:2756) 
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647) 
     at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140) 
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScanne 
rImpl.java:511) 
     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808) 
     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) 
     at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119) 
     at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:232) 
     at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284) 
     at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:75) 
     at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.j 
ava:388) 
     ... 34 more 
Mar 22, 2013 8:52:00 AM org.eclipse.jetty.webapp.WebAppContext doStart 
WARNING: Failed startup of context o.e.j.w.WebAppContext{/,file:/C:/cxf/apache-cxf-2.7.3-src/distribution/src/main/relea 
se/samples/jax_rs/spring_security/target/JAXRSSpringSecurity/},target/JAXRSSpringSecurity.war 
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 53 in XML document from ServletContext resou 
rce [/WEB-INF/beans.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matc 
hing wildcard is strict, but no declaration can be found for element 'security:global-method-security'. 
     at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.j 
ava:396) 
     at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.jav 
a:334) 
     at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.jav 
a:302) 
     at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefini 
tionReader.java:143) 
     at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefini 
tionReader.java:178) 
     at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefini 
tionReader.java:149) 
     at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext 
.java:124) 
     at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext 
.java:93) 
     at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefresha 
bleApplicationContext.java:130) 
     at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationCont 
ext.java:467) 
     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:397) 
     at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282) 
     at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204) 
     at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) 
     at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:771) 
     at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:411) 
     at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:763) 
     at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:247) 
     at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1238) 
     at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:706) 
     at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:480) 
     at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
     at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229) 
     at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
     at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95) 
     at org.eclipse.jetty.server.Server.doStart(Server.java:277) 
     at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) 
     at demo.jaxrs.servlet.Server.<init>(Server.java:55) 
     at demo.jaxrs.servlet.Server.main(Server.java:61) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:291) 
     at java.lang.Thread.run(Thread.java:662) 
Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration ca 
n be found for element 'security:global-method-security'. 
     at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java: 
195) 
     at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131) 
     at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384) 
     at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318) 
     at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator 
.java:423) 
     at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3188) 

     at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1933 
) 
     at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:711) 
     at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.ja 
va:400) 
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocument 
FragmentScannerImpl.java:2756) 
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647) 
     at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140) 
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScanne 
rImpl.java:511) 
     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808) 
     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) 
     at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119) 
     at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:232) 
     at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284) 
     at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:75) 
     at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.j 
ava:388) 
     ... 34 more 
Mar 22, 2013 8:52:00 AM org.eclipse.jetty.server.AbstractConnector doStart 
INFO: Started [email protected]:9002 
Server ready... 

beans.xml文件如下:

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:jaxrs="http://cxf.apache.org/jaxrs" 
    xmlns:aop="http://www.springframework.org/schema/aop" 
    xmlns:security="http://www.springframework.org/schema/security" 
    xsi:schemaLocation=" 
http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd 
http://www.springframework.org/schema/aop 
http://www.springframework.org/schema/aop/spring-aop.xsd 
http://www.springframework.org/schema/security 
http://www.springframework.org/schema/security/spring-security-2.0.4.xsd 
http://cxf.apache.org/jaxrs 
http://cxf.apache.org/schemas/jaxrs.xsd"> 

    <import resource="classpath:META-INF/cxf/cxf.xml" /> 
    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> 

    <jaxrs:server id="bookservice" address="/"> 
    <jaxrs:serviceBeans> 
     <ref bean="customerservice"/> 
    </jaxrs:serviceBeans>   
    <jaxrs:providers> 
     <bean class="demo.jaxrs.service.SecurityExceptionMapper"/> 
    </jaxrs:providers> 
    </jaxrs:server> 

    <bean id="customerservice" class="demo.jaxrs.service.CustomerServiceImpl"/> 
<!-- 
    <bean id="customerservice" class="demo.jaxrs.service.CustomerServiceSecuredImpl"/> 
--> 


    <security:global-method-security secured-annotations="enabled"> 
     <security:protect-pointcut 
     expression="execution(* demo.jaxrs.service.CustomerService.getCustomer(*))" 
     access="ROLE_CUSTOMER, ROLE_ADMIN"/> 
     <security:protect-pointcut 
     expression="execution(* demo.jaxrs.service.CustomerService.addCustomer(*))" 
     access="ROLE_ADMIN"/> 
     <security:protect-pointcut 
     expression="execution(* demo.jaxrs.service.CustomerService.updateCustomer(Long,demo.jaxrs.service.Customer))" 
     access="ROLE_ADMIN"/> 
     <security:protect-pointcut 
     expression="execution(* demo.jaxrs.service.CustomerService.deleteCustomer(*))" 
     access="ROLE_ADMIN"/>  
     <security:protect-pointcut 
     expression="execution(* demo.jaxrs.service.CustomerService.getOrder(*))" 
     access="ROLE_CUSTOMER, ROLE_ADMIN"/> 
    </security:global-method-security> 

    <security:http auto-config='true'> 
    <security:http-basic /> 
    </security:http> 

    <security:authentication-provider> 
    <security:user-service> 
     <security:user name="bob" password="bobspassword" authorities="ROLE_CUSTOMER" /> 
     <security:user name="fred" password="fredspassword" authorities="ROLE_CUSTOMER, ROLE_ADMIN" /> 
    </security:user-service> 
    </security:authentication-provider> 
</beans> 

回答

0

似乎对安全性的错误:全球方法的安全元件。你在bean配置文件中使用了这个元素吗?验证您是否在xml文件的标头上使用了正确的xsd定义。 xsd版本必须与spring-security版本兼容。

+0

谢谢..我已经将我的beans.xml添加到帖子。 – 2013-03-22 15:42:32

0

如果您使用的是最新的CXF,请确保您的弹簧配置文件中有正确的名称空间和模式位置定义。例如:

<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:sec="http://www.springframework.org/schema/security" 
     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.1.xsd 
     http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd"> 

</beans> 

并确保您具有spring-security-config的依赖关系。如果您在这里使用Maven它是:

<dependency> 
    <groupId>org.springframework.security</groupId> 
    <artifactId>spring-security-config</artifactId> 
    <version>${org.springframework.version}</version> 
    <scope>compile</scope> 
</dependency> 
+0

谢谢..我添加的beans.xml看起来好吗?我确实看到你引用了3.1,引用了2.0.4的示例 – 2013-03-22 15:43:17

+0

我已经尝试了2.0.4和3.1都通过异常 – 2013-03-22 15:51:20

+0

你的项目中是否存在'spring-security-config'依赖项?模式来自它。 – 2013-03-22 16:11:26