cxf ws-security客户端调用:
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
Map<String, Object> outProps = new HashMap<String, Object>();
outProps.put(WSHandlerConstants.ACTION, "UsernameToken Timestamp");
outProps.put(WSHandlerConstants.USER, "abcd");
outProps.put(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_DIGEST);
outProps.put(WSHandlerConstants.PW_CALLBACK_CLASS, UTPasswordCallback.class.getName());
List list = new ArrayList();
list.add(new SAAJOutInterceptor());
list.add(new WSS4JOutInterceptor(outProps));
factory.setServiceClass(Greeter.class);
factory.setAddress("http://localhost:9000/SoapContext/GreeterPort");
factory.getOutInterceptors().addAll(list);
Greeter port = factory.create(Greeter.class);
String greetMe = port.greetMe("abcd");
System.out.println("greetMe:" + greetMe);
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
Map<String, Object> outProps = new HashMap<String, Object>();
outProps.put(WSHandlerConstants.ACTION, "UsernameToken Timestamp");
outProps.put(WSHandlerConstants.USER, "abcd");
outProps.put(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_DIGEST);
outProps.put(WSHandlerConstants.PW_CALLBACK_CLASS, UTPasswordCallback.class.getName());
List list = new ArrayList();
list.add(new SAAJOutInterceptor());
list.add(new WSS4JOutInterceptor(outProps));
factory.setServiceClass(Greeter.class);
factory.setAddress("http://localhost:9000/SoapContext/GreeterPort");
factory.getOutInterceptors().addAll(list);
Greeter port = factory.create(Greeter.class);
String greetMe = port.greetMe("abcd");
System.out.println("greetMe:" + greetMe);
本文介绍了一个使用CXF进行WS-Security认证的客户端调用示例。通过JaxWsProxyFactoryBean创建代理,并设置必要的认证参数如用户名、密码等,实现了对指定SOAP服务的安全调用。

1517

被折叠的 条评论
为什么被折叠?



