cxf3.1.7 + wss4j开发应用

本文介绍了一个基于Maven、Spring、CXF和WS-Security的WebService配置实例。文章详细记录了从项目搭建、依赖引入到服务器与客户端开发的全过程,并分享了权限验证时的一些注意事项及调试过程中遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       最近项目需要用到webService的调用,之前也没研究过相关的配置,就网上找了下资料,采用maven+spring + cxf+wss4j配置测试webservice用。

首先创建的项目配置cxf的pom.xml的相关包的引入,代码如下:


  

		
  
			
   
    org.apache.cxf
   
			
   
    cxf-rt-frontend-jaxws
   
			
   
    3.1.7
   
		
  
		
  
			
   
    org.apache.cxf
   
			
   
    cxf-rt-transports-http
   
			
   
    3.1.7
   
		
  
		
		
  
		
  
			
   
    org.apache.cxf
   
			
   
    cxf-rt-ws-security
   
			
   
    3.1.7
   
		
  
接着就是服务器和客户端的开发

参考:

http://blog.youkuaiyun.com/jquerys/article/details/50634576

http://blog.youkuaiyun.com/rangqiwei/article/details/19282271

加入权限验证时,开发的服务端回调类注意的地方



调试遇到的问题:

WSPasswordCallback 的passwordType属性和password 属性都为null,你只能获得用户名(identifier),一般这里的逻辑是使用这个用户名到数据库中查询其密码,然后再设置到password 属性,WSS4J 会自动比较客户端传来的值和你设置的这个值。
你可能会问为什么这里CXF 不把客户端提交的密码传入让我们在ServerPasswordCallbackHandler 中比较呢?
这是因为客户端提交过来的密码在SOAP 消息中已经被加密为MD5 的字符串,如果我们要在回调方法中作比较,
那么第一步要做的就是把服务端准备好的密码加密为MD5 字符串,由于MD5 算法参数不同结果也会有差别,另外,这样的工作CXF 替我们完成不是更简单?


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值