JAXWS客户端使用X509服务器身份验证调用JAXWS Webservice

时间:2012-01-04 15:16:49

标签: jax-ws

我使用wsdlc ANT任务从wsdl创建了一个JAXWS Web服务,并部署在Weblogic 10.3.0中。我们有Sun one Java Server 7.0,其中安装了Verisign Server证书并配置为将web服务请求转发到weblogic。

我使用wsimport ant任务创建了一个JAXWS客户端来调用webservice。使用https URL运行客户端时,我可以看到weblogic和webservice中的xml请求已成功处理。但我无法在xml请求/响应中找到任何x509证书的证据。除了使用wsimport生成存根之外,我是否需要在客户端执行任何操作?仅供参考通过浏览器查看wsdl时,我可以通过浏览器查看证书详细信息。

2 个答案:

答案 0 :(得分:5)

通过HTTPS连接到WebService的内容,您的客户端和服务器执行x509证书交换。这是在连接级别执行的操作,wsimport与此无关。如果您想在该级别使用x509证书,则需要深入了解Java HTTPS client certificate authentication / Java client for the X.509 secured web-service和服务器端Securing WebLogic Server: Configuring SSL

或者,您可以向下一级:使用HTTP协议连接到服务器并在SOAP级别执行加密/签名/身份验证。然后参考User authenticate in SOAPUsing JAX-WS-Based Web Services with SSL获取Metro / JAX-WS服务,WS-Security获取Apache CXF,Spring Security With X.509 Certificate获取Spring Security - 具体取决于您将选择的框架。

答案 1 :(得分:0)

我可以使用-Djavax.net.debug = all验证SSL握手。我没有修改我的客户端以包含信任库,如果证书由可信CA签名,则不需要它。