在Tomcat + SSL连接上部署JAX-WS Web服务

在本文中,我们向您展示如何在启用了TLS / SSL或https安全连接的Tomcat上部署JAX-WS Web服务。 实际上,答案很简单,只需将其部署为普通的Web服务并在Tomcat服务器上正确配置SSL连接即可。🙂

注意
本文只是我在SSL连接环境中开发Web服务的最后几篇文章的结合。

1.配置Tomcat + SSL

有关详细信息,请参阅本指南– 使Tomcat支持SSL或https连接

基本上,只需从受信任的证书提供者处购买证书,或使用JDK的keytool命令生成用于本地测试的虚拟证书。 并将以下部分放入您的Tomcat server.xml文件中。

文件:$ Tomcat \ conf \ server.xml

//...
 <!-- Define a SSL HTTP/1.1 Connector on port 8443
         This connector uses the JSSE configuration, when using APR, the 
         connector should be using the OpenSSL style configuration
         described in the APR documentation -->
 
 <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" 
	       keystoreFile="c:\your keystore file"
	       keystorePass="your keystore password" />
  //...

重新启动Tomcat,现在,您的Tomcat支持SSL连接,例如https:// localhost:8443

2.部署Web服务

像普通的Web服务一样部署它,请参阅本指南– 在Tomcat Servlet容器上部署JAX-WS Web服务

3.测试

配置完成; 您可以使用普通的Web服务客户端以SSL连接访问已部署的Web服务。

例如,

URL url = new URL("https://localhost:8443/HelloWorld/hello?wsdl");
    QName qname = new QName("http://ws.mkyong.com/", "HelloWorldImplService");
    Service service = Service.create(url, qname);

    HelloWorld hello = service.getPort(HelloWorld.class);
    System.out.println(hello.getHelloWorldAsString());

注意
对于localhost SSL测试环境,客户端将遇到以下异常,请阅读以下问题和解决方案:

  1. java.security.cert.CertificateException:找不到与本地主机匹配的名称
  2. SunCertPathBuilderException:无法找到到请求目标的有效证书路径

4.完成

您的Web服务具有SSL保护,相当简单,在Web服务站点上没有任何更改; 只需将Tomcat配置为仅支持SSL连接。

参考
  1. Wiki – SSL连接
  2. JAX-WS你好世界示例

翻译自: https://mkyong.com/webservices/jax-ws/deploy-jax-ws-web-services-on-tomcat-ssl-connection/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值