最近公司要做一个WebService项目,做了一个简单的例子,WebService认证使用的是简单的UsernameToken方式未使用X.509方式,DAO类大家自己去实现吧,这里就不得供了。
这里说明一下,在网上看到很多例子都是错误的,在WebService服务器端认证回调类中,应该是根据客户端传过来的用户名在数据库里查找到对应的密码在重新Set进去才可以正常的认证而不是直接在服务端进行get密码进行对比,因为WSS4J为了安全期间不允许直接在服务端直接get出来密码。
采用的全是最新的包,截图如下:
所有代码由于行数太多,所以默认为折叠代码,查看代码时请展开代码。
以下是配置文件:
applicationContext-common.xml:
applicationContext-webService.xml:
MySQL配置(连接池配置 dataBaseCfg.properties):
WebService 客户端配置文件(flowCollectionCfg.properties):
web.xml(<display-name>节点自行设置):
WsServerAuthCallbackHandler.java:
WsClientAuthCallbackHandler.java:
WsTest.java (单元测试):