按照ehcache的userguidehttp://ehcache.org/EhcacheUserGuide.html
ehcache server使用XWSS 3.0来实现安全,以下我的实现过程:
server端
1、把WEB-INF下的server_security_config.xml_rename_to_activate改名为server_security_config.xml
2、net.sf.ehcache.server.soap.SecurityEnvironmentHandler文件默认就好
client端
1、客户端我使用了jax-ws来生成service端的webservice(我把ehcache server的lib拷贝到客户端的lib下)
2、把服务端的server_security_config.xml拷贝到root的classpath下并改名为client_security_config.xml
3、在EhcacheWebServiceEndpointService中进行测试
Code:
EhcacheWebServiceEndpoint cacheService = new EhcacheWebServiceEndpointService().getEhcacheWebServiceEndpointPort();
//add security credentials
((BindingProvider)cacheService).getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "Ron");
((BindingProvider)cacheService).getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "noR");
String result = cacheService.ping();
但是这里报出了一个错误:
Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Message does not conform to configured policy [ AuthenticationTokenPolicy(S) ]: No Security Header found
不知道大家是否以前遇到相关问题,请帮帮忙,万分感谢!