【发布时间】:2011-08-14 14:16:49
【问题描述】:
我在 URL https://my-webservice-path?wsdl 有一个安全的外部 Web 服务,我想连接以使用它。这是一个 2-way ssl。 我在以下创建了一个 Web 服务客户端:
- 创建一个java应用Application1
- 在项目窗口中,单击 Application1 图标 -> 新建 -> Web 服务客户端
- 将我的 URL 粘贴到 WSDL URL,客户端类型为 JAX-WS,包:com.mypackage
- 完成
但出现错误:错误:发生 I/O 错误。收到致命警报:handshake_failure
而且我无法创建 Web 服务引用。我使用 Glassfish 3.0.1 服务器。
我尝试用我的密钥对和证书替换 Glassfish 的 keystore.jks 和 cacerts.jks 中的别名 s1as,但仍然失败。
我也尝试使用wsimport解析wsdl文件但失败:(
我在 Oracle 论坛http://forums.oracle.com/forums/thread.jspa?threadID=2214292&tstart=0 上发布了这个问题,但没有得到任何答案。 我试图解决这个问题 2 天:(
我现在可以做些什么来解决这个问题? 请帮帮我,谢谢!
【问题讨论】:
-
嗨,我用wireshark检查并看到了。当我使用浏览器调用此服务时,客户端将客户端的证书发送到服务器。一切都很好。但是当我使用java代码时,没有证书被发送到服务器。握手失败。希望这些信息对您有所帮助!
标签: web-services security glassfish client