`
Sev7en_jun
  • 浏览: 1225297 次
  • 性别: Icon_minigender_1
  • 来自: 广州
博客专栏
84184fc0-d0b6-3f7f-a3f0-4202acb3caf5
Apache CXF使用s...
浏览量:111286
社区版块
存档分类
最新评论

解决(CXF):The security token could not be authenticated or authorized

 
阅读更多

1,使用cxf回调函数,服务端setPassword和客户端不同时,抛出下列异常

org.apache.cxf.binding.soap.SoapFault: The security token could not be authenticated or authorized

at org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.createSoapFault(WSS4JInInterceptor.java:641)

at org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:308)

at org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:85)

at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)

at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:123)

at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:206)

at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:213)

at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:193)

at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:126)

at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:184)

at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:107)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)

at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:163)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)

at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:852)

at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:584)

at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1508)

at java.lang.Thread.run(Thread.java:619)

Caused by: org.apache.ws.security.WSSecurityException: The security token could not be authenticated or authorized

at org.apache.ws.security.validate.UsernameTokenValidator.verifyDigestPassword(UsernameTokenValidator.java:203)

at org.apache.ws.security.validate.UsernameTokenValidator.verifyPlaintextPassword(UsernameTokenValidator.java:142)

at org.apache.ws.security.validate.UsernameTokenValidator.validate(UsernameTokenValidator.java:100)

at org.apache.ws.security.processor.UsernameTokenProcessor.handleUsernameToken(UsernameTokenProcessor.java:131)

at org.apache.ws.security.processor.UsernameTokenProcessor.handleToken(UsernameTokenProcessor.java:65)

at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:396)

at org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:249)

... 23 more

 

#################################################################

#################################################################

#################################################################

服务端没有设置password时,抛出下列异常:

java.lang.IllegalArgumentException: pwd == null but a password is needed

at org.apache.ws.security.message.token.UsernameToken.setPassword(UsernameToken.java:462)

at org.apache.ws.security.message.WSSecUsernameToken.prepare(WSSecUsernameToken.java:214)

at org.apache.ws.security.message.WSSecUsernameToken.build(WSSecUsernameToken.java:269)

at org.apache.ws.security.action.UsernameTokenAction.execute(UsernameTokenAction.java:59)

at org.apache.ws.security.handler.WSHandler.doSenderAction(WSHandler.java:202)

at org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor.access$200(WSS4JOutInterceptor.java:52)

at org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor$WSS4JOutInterceptorInternal.handleMessage(WSS4JOutInterceptor.java:260)

at org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor$WSS4JOutInterceptorInternal.handleMessage(WSS4JOutInterceptor.java:136)

at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)

at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:535)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:465)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:368)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:321)

at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:88)

at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134)

at $Proxy36.say(Unknown Source)

at test.saa.Client.main(Client.java:40)

Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: pwd == null but a password is needed

at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:156)

at $Proxy36.say(Unknown Source)

at test.saa.Client.main(Client.java:40)

Caused by: java.lang.IllegalArgumentException: pwd == null but a password is needed

at org.apache.ws.security.message.token.UsernameToken.setPassword(UsernameToken.java:462)

at org.apache.ws.security.message.WSSecUsernameToken.prepare(WSSecUsernameToken.java:214)

at org.apache.ws.security.message.WSSecUsernameToken.build(WSSecUsernameToken.java:269)

at org.apache.ws.security.action.UsernameTokenAction.execute(UsernameTokenAction.java:59)

at org.apache.ws.security.handler.WSHandler.doSenderAction(WSHandler.java:202)

at org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor.access$200(WSS4JOutInterceptor.java:52)

at org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor$WSS4JOutInterceptorInternal.handleMessage(WSS4JOutInterceptor.java:260)

at org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor$WSS4JOutInterceptorInternal.handleMessage(WSS4JOutInterceptor.java:136)

at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)

at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:535)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:465)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:368)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:321)

at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:88)

at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134)

... 2 more

分享到:
评论

相关推荐

    apache-cxf-2.4.6.zip

    6. **强大的调试工具**:CXF提供了客户端和服务器端的调试器,帮助开发者追踪和解决Web服务问题。 7. **集成其他Apache项目**:CXF与Apache Axis2、Tomcat、Jetty等项目有良好的集成,可以方便地嵌入到现有的应用...

    使用CXF: Java 2 WSDL

    【标题】:“使用CXF:Java 2 WSDL” 【描述】:在Java开发中,Apache CXF是一个广泛使用的开源框架,它允许开发者构建和部署Web服务。"Java 2 WSDL"指的是从Java类生成WSDL(Web Services Description Language)...

    springboot_cxf_security

    2. Apache CXF: Apache CXF是一个开源的Java服务框架,它允许开发者创建和部署不同类型的Web服务,包括SOAP和RESTful服务。在本项目中,CXF被用来实现Webservice接口,使应用能够对外提供服务。开发者可以通过CXF...

    CXFWS-Security

    1)参考: ...2)CXFWS工程是基于WS-Security规范,实现X.509身份验证的,同时实现签名和加密 keytool 工具的使用参考 http://hi.baidu.com/qianshuifanchuan/blog/item/6291b8510009ad3c42a75b8e.html ...

    apache cxf_jar包

    Apache CXF是一个开源的Java框架,它主要用于构建和开发服务导向架构(SOA)中的Web服务。这个"apache cxf_jar包"包含了实现基于Java的Web服务所需的一系列核心库。下面我们将深入探讨这些jar文件及其在Web服务实现...

    apache-cxf-2.4.0

    2. **WS-*规范实现**:CXF实现了许多Web服务标准,如WS-Security、WS-ReliableMessaging、WS-Addressing等,提供了安全性和可靠性的保障。 3. **RESTful服务**:除了传统的SOAP服务,CXF还支持RESTful服务的开发,...

    CXF WS-Security WSS4J 例子

    CXF(CXF: Composite Application Framework)是一款开源的Java框架,专门用于构建和服务导向架构(SOA)。它提供了丰富的Web服务实现,包括SOAP和RESTful服务。在CXF中,WS-Security(Web Services Security)是一...

    web server 的 cxf 框架及使用说明

    implementation 'org.apache.cxf:cxf-rt-frontend-jaxws:3.4.x' // 替换为最新稳定版 implementation 'org.apache.cxf:cxf-rt-transports-http:3.4.x' // 替换为最新稳定版 } ``` ### 3. 创建和运行CXF服务 ####...

    CXF(WS_Security)证书加密

    **CXF(WS_Security)证书加密** 在IT行业中,Web服务是系统间通信的一种重要方式,而安全性是任何网络通信的关键因素。CXF(Apache CXF)是一个开源的Java框架,它支持创建和消费各种Web服务,包括SOAP和RESTful...

    基于CXF的webservice的发布及访问

    <cxf:bus-ref>myBus</cxf:bus-ref> </cxf:client> ``` 4. **执行调用**:在Spring配置生效后,可以直接通过客户端接口进行服务调用。 **总结** Apache CXF提供了简洁的API和工具,使得发布和调用SOAP 1.2 Web...

    13.为CXF与Spring整合发布WebService添加拦截器进行权限控制

    <cxf:inInterceptors> </cxf:inInterceptors> <cxf:outInterceptors> </cxf:outInterceptors> </cxf:interceptors> </cxf:bus> <!-- CXF服务配置 --> <cxf:service id="yourWebService" serviceClass=...

    CXF关于Aegis的简单示例

    在这个配置中,`cxf:jaxws-service`元素定义了服务,`serviceClass`属性指定服务接口,`wsdlLocation`指向WSDL文件的位置。`cxf:dataBinding`元素用于设置数据绑定为Aegis。`myServiceInterface`和`myServiceImpl`...

    CXF契约优先开发方式之客户端实现(client)

    在本文中,我们将深入探讨如何使用Apache CXF的契约优先(Contract First)开发方式来创建一个客户端实现。CXF是一个开源的Java框架,它提供了一种灵活的方式来进行Web服务的开发,包括服务端和客户端。契约优先的...

    cxf +spring

    在上述配置中,`<cxf:bus>`定义了CXF总线,`<cxf:features>`添加了日志记录功能。`<bean>`定义了服务实现,`<cxf:service>`则声明了服务接口和地址。 在实际开发中,【压缩包子文件的文件名称列表】"CXF"可能包含...

    如何配置cxf ws security

    配置cxf ws security的教程

    cxf+ws-security-JAR

    综上所述,"cxf+ws-security-JAR"是针对Web服务安全调用的解决方案,通过Apache CXF和WS-Security标准,为Web服务提供了强大的安全保障,确保了敏感数据的传输安全和用户身份的有效验证。这个JAR包很可能包含了一些...

    CXF和Spring整合开发的服务端及客户端

    CXF(CXF: Composite eXtensible Services Framework)是一款开源的Java框架,主要用于构建和开发服务导向架构(SOA)中的Web服务。它支持多种协议和标准,如SOAP、RESTful、JAX-RS和JAX-WS等。Spring框架则是Java...

    纯java调用ws-security+CXF实现的webservice安全接口

    本文将深入探讨如何使用CXF框架结合ws-security标准来实现对Java客户端调用Web服务的安全接口。CXF是一个开源的服务框架,它允许开发人员创建和消费各种Web服务,而ws-security(Web Services Security)则是用于...

    springMVC3+apache CXF+spring security3+mybatis3(proxool)整合maven项目

    本项目是一个基于Spring MVC 3、Apache CXF、Spring Security 3和MyBatis 3(使用Proxool作为连接池)的整合示例,采用Maven进行项目管理。下面将详细解释这些组件及其在项目中的作用。 1. **Spring MVC 3**: ...

    CXF-JAXB包的处理问题

    在Java开发中,CXF(Apache CXF)是一个开源的服务框架,它广泛用于构建和部署Web服务。CXF支持多种协议和绑定,包括SOAP、RESTful HTTP、JMS等。而JAXB(Java Architecture for XML Binding)是Java平台的标准,...

Global site tag (gtag.js) - Google Analytics