为 JAX-WS 客户端设置 SSL

Setting SSL for JAX-WS Client

我需要实现一些 JAX-WS 客户端(对于 Websphere Application Server 7),它将使用 SSL 请求服务器。问题是,如何动态地将SSL证书设置到WS请求中?我想用这里介绍的方式http://www-01.ibm.com/support/knowledgecenter/SSAW57_7.0.0/com.ibm.websphere.nd.doc/info/ae/ae/tjw_security_https.html 这意味着使用设置 SSL 配置别名来引用配置。这看起来很容易,但这个示例是针对 JAX-RPC 的,我想知道,如果我使用 JAX-WS,这种配置是否可行。 JAX-WS 可以实现这样的功能吗?谢谢

BindingProvider bindingProvider = (BindingProvider) importIsdn;
        bindingProvider.getBinding().getHandlerChain().add(new Handler() {
            public boolean handleMessage(MessageContext context) {
                context.put("ssl.configName", wsClient.getSslConfigName());
                return true;
            }

            public boolean handleFault(MessageContext context) {
                return false;
            }

            public void close(MessageContext context) {

            }
        });

我想你可以参考这个link: http://www-01.ibm.com/support/knowledgecenter/SSAW57_7.0.0/com.ibm.websphere.nd.doc/info/ae/ae/twbs_configclienttransportsecprog.html

如果您使用的是 JAX-WS,请检查您是否可以使用 policy sets 而不是在代码中执行此操作。

根据 WSHTTPS default 创建策略,然后创建绑定并指定要使用的 SSL 配置(您可以在那里 select SSL 配置别名)。通过管理控制台将策略附加到 JAX-WS 客户端。