如果你的项目中不使用web service服务,就不需要引入该jar文件
当你使用cxf的时候,可以声明自己的服务为web service服务,这样,其他程序就可以通过web service 访问你的服务
同事,你也可以通过cxf,访问其他程序提供的web service服务
如果你想知道如何配置的话,可以给我留言,其实也可以百度一下,有很多配置的相关文章
UTPP令牌验证是 ws-security 规范中约定的最简单的一种验证方式,以下是5年前我用xfire 的代码,希望能对你有帮助,cxf 也是从 xfire 发展来的,估计语法上大同小异
Client client = ((XFireProxy) Proxy.getInvocationHandler(service)).getClient()
client.addOutHandler(new DOMOutHandler())
Properties config = new Properties()
// Action to perform : user token
config.setProperty(WSHandlerConstants.ACTION, WSHandlerConstants.USERNAME_TOKEN)
// Password type : plain text
config.setProperty(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_TEXT)
// for hashed password use:
//properties.setProperty(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_DIGEST)
// User name to send
config.setProperty(WSHandlerConstants.USER, "serveralias")
// Callback used to retrive password for given user.
config.setProperty(WSHandlerConstants.PW_CALLBACK_CLASS, PasswordHandler.class.getName())
client.addOutHandler(new WSS4JOutHandler(properties))
service.doSomething(...)
-------------------------------------------------------------------------------------------------
public class PasswordHandler implements CallbackHandler {
private Map passwords = new HashMap()
public PasswordHandler() {
passwords.put("serveralias", "aliaspass")
passwords.put("client-344-839","client344Password")
}
public void handle(Callback[] callbacks) throws IOException,
UnsupportedCallbackException {
WSPasswordCallback pc = (WSPasswordCallback) callbacks[0]
String id = pc.getIdentifer()
pc.setPassword((String) passwords.get(id))
}
}
--------------------------------------------
要用到 wss4j 和 bcprov ,如果仅仅是令牌验证的话,可以不用 bcprov,如果做签名和消息级加密的话,就必须要用到 bcprov 或是其他的安全包了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)