异常 Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: WSS4JInHandler: security processing failed
如果使用服务器端wss配置:
<bean id="domInHandler" class="org.codehaus.xfire.util.dom.DOMInHandler" />
<bean id="wss4jInHandler" class="org.codehaus.xfire.security.wss4j.WSS4JInHandler">
<property name="properties">
<props>
<prop key="action">UsernameToken</prop><!-- 指定认证类型-->
<prop key="passwordCallbackClass"><!--指定一个密码回调实现类-->
com.szboeye.webservice.handler.PwdCallbackHandler
</prop>
</props>
</property>
</bean>
客户代码:
WSS4JOutHandler wsOut = new WSS4JOutHandler();
String actions =WSHandlerConstants.USERNAME_TOKEN;
wsOut.setProperty(WSHandlerConstants.ACTION, actions);//动作
wsOut.setProperty(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PASSWORD_DIGEST);//WSConstants.PW_DIGEST表示密码以摘要方式发送,这可以保证密码的传输安全。设置为WSConstants.PW_TEXT表示密码以明文方式发送
wsOut.setProperty(WSHandlerConstants.USER, "server"); //指定用户
wsOut.setProperty(WSHandlerConstants.PW_CALLBACK_CLASS, ClientPwdCallbackHandler.class.getName());//密码回调类
client.addOutHandler(new DOMOutHandler());
client.addOutHandler(wsOut);
服务端和客户端的 PwdCallbackHandler 和 ClientPwdCallbackHandler 客户端的密码不一致将会导致以上异常,这个异常很正常,说明是非法用户和来校验用户密码,只要两个密码一样,就不会出现以上异常
分享到:
相关推荐
标题中的"Spring+xFire+wss4j配置Helloworld完整Demo"揭示了这是一个关于整合Spring框架、xFire(现称为Apache CXF)和WSS4J的安全Web服务示例项目。这个项目旨在帮助开发者理解如何在Spring环境中配置并实现一个...
在本教程中,我们将深入探讨如何使用Spring框架与xFire集成,同时利用wss4j进行WS-Security安全配置,创建一个"Hello World"的Web服务。这是一个完整的MyEclipse项目,包括服务端和客户端的工程,旨在帮助开发者快速...
许多的相关示例根本不能运行,这个示例不单能直接运行,而且还有教程,见 http://blog.csdn.net/guosydragon/archive/2010/05/01/5549076.aspx及相关章节
4. **xfire-spring.jar**:XFire与Spring框架的集成库,使得可以利用Spring的依赖注入和配置管理特性来管理和部署XFire服务。 5. **xfire-xmlbeans.jar**:如果项目中使用了XMLBeans作为XML解析器,那么这个jar包...
4. **Transport**: XFire支持多种传输协议,如HTTP、HTTPS、JMS等,使得服务可以通过不同的网络环境进行通信。 5. **Message Builders and Handlers**: 这些组件负责解析和生成XML消息,处理Web服务请求和响应。 6...
4. **xfire-jaxws.jar**:Java API for Web Services (JAX-WS) 是Java标准的Web服务API,Xfire提供了对JAX-WS的兼容,使得开发者可以利用JAX-WS规范来构建和消费Web服务。 5. **xfire-spring.jar**:Xfire与Spring...
XFire,作为一个Java Web Service框架,通过Apache的WSS4J库来支持WS-Security。WSS4J负责处理SOAP报文的安全性,包括加密、签名和身份验证等操作。XFire利用其Handler机制,在发送和接收SOAP报文的不同阶段注册相应...
4. **xfire-client.jar**:客户端API,包括构建和发送SOAP请求的类和接口。 5. **xfire-xmlbeans-binding.jar**:如果项目使用XMLBeans作为数据绑定框架,此jar文件会提供相应的支持。 6. **xfire-spring.jar**:...
标题"XFire中实现WS-Security经典"表明了本文将深入探讨如何在XFire框架中实现Web服务安全标准——WS-Security。WS-Security(Web Services Security)是 Oasis 标准组织定义的一套用于保护Web服务交互的安全规范,...
在这个示例中,我们将探讨如何在xfire1.2.6中实现和应用WS-Security。 WS-Security标准由OASIS(Organization for the Advancement of Structured Information Standards)制定,旨在提供一种在SOAP消息层进行安全...
4. **xfire-jaxws.jar**:JAX-WS(Java API for XML Web Services)是Java平台上的标准Web服务API,XFire对JAX-WS的支持使得开发者可以使用Java标准API来创建和消费Web服务。 5. **xfire-stax.jar**:STAX...
xFire是早期的一个开源项目,用于简化Java开发人员创建和消费Web服务的过程。在本主题中,我们将深入探讨如何使用xFire来发布Web服务以及如何调用远程服务。 首先,让我们了解xFire的核心功能。xFire是一个基于Java...
4. **Spring Integration**:xfire可以很好地与Spring框架集成,使得服务的配置和管理更加方便,同时也能够利用Spring的强大功能。 5. **CXF Compatibility**:虽然xfire后来被Apache CXF项目吸收,但xfirejar仍然...
4. **启动服务**:运行XFire服务器,使服务对外可用。 5. **创建客户端**:为了消费服务,你需要生成一个客户端代理,该代理可以调用远程服务方法。 ```java Service service = ClientProxyFactoryBean....
标题 "xfire所需的所有jar包与调用demo" 指的是一个集合,包含了使用XFire框架构建Web服务所需的所有Java档案(jar包)以及一个演示示例,用于展示如何在实际项目中调用和使用这些库。XFire是早期流行的一款基于Java...
4. **xfire-spring**: Xfire与Spring框架的集成模块,使得可以在Spring应用上下文中配置和管理Web服务。这使得开发者可以利用Spring的依赖注入和事务管理等特性来控制Web服务的行为。 5. **xfire-jaxb**: 这个模块...
标题中的“XFire的jar包”指的是XFire项目的核心组件,这是一个开源的Web服务实现,专为Java平台设计。在Web服务开发中,XFire提供了一种轻量级且高效的方式来创建、部署和消费Web服务。它利用了Java annotations...
4. **异常处理**:如果安全验证失败,XFire会抛出异常,客户端和服务端都需要有适当的错误处理机制来捕获和处理这些异常。 在实际应用中,我们可能还需要考虑性能和安全性之间的平衡,例如调整加密算法的强度,或者...
XFire是Apache CXF项目的前身,它提供了全面的Web服务支持,包括SOAP 1.1和1.2、WSDL(Web服务描述语言)、UDDI(统一描述、发现和集成)和WS-Security等。XFire的核心特性在于其轻量级、高性能和易于使用的API,...