Развертывание веб-служб JAX-WS по соединению Tomcat SSL

В этой статье мы покажем вам, как развернуть веб-службу JAX-WS на Tomcat с включенным безопасным соединением TLS/SSL или https. На самом деле, ответ довольно прост, просто разверните его как обычный веб-сервис и правильно настроите SSL-соединение на вашем сервере Tomcat :)

1. Настройте Tomcat + SSL

Для получения дополнительной информации см. Это руководство - ссылка://tomcat/how-to-configure-tomcat-to-support-ssl-или-https/[Сделать Tomcat для поддержки соединения SSL или https].

По сути, просто купите сертификат у доверенного поставщика сертификатов или используйте команду JDK keytool , чтобы создать фиктивный сертификат для тестирования на локальном хосте. И поместите следующую часть в ваш файл Tomcat server.xml .

File: $ 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. Развертывание веб-службы

Разверните его как обычный веб-сервис, см. Это руководство - ссылка://webservices/jax-ws/deploy-jax-ws-web-services-on-tomcat/[Развернуть веб-сервисы JAX-WS в контейнере сервлетов Tomcat].

===  3. Проверьте это

Конфигурация сделана; Вы можете получить доступ к развернутой веб-службе через соединение SSL с помощью обычного клиента веб-службы.

Например,
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 клиент получит следующие исключения. Пожалуйста, прочтите проблему и решение ниже:

, ссылка://WebServices/JAX-WS/-без имени Java-безопасности CERT-certificateexception синхронизма-локальный обретенной/[java.security.cert.CertificateException:

Имя, соответствующее localhost не найдено], ссылка://WebServices/JAX-WS/suncertpathbuilderexception-неспособный найти, по-недействительный-сертификационную-путь-к-запрашиваемой-мишени/[SunCertPathBuilderException:

невозможно найти действительный путь сертификации к запрошенной цели]

===  4. Готово

Ваш веб-сервис защищен SSL, довольно просто, без изменений на сайте веб-сервиса; просто настройте ваш Tomcat на поддержку только SSL-соединения.

=====  Ссылка

, http://en.wikipedia.org/wiki/SSL[Wiki - SSL-соединение]

, ссылка://webservices/jax-ws/jax-ws-hello-world-example/[JAX-WS привет

пример мира]

ссылка://тег/https/[https]ссылка://тег/jax-ws/[jax-ws]ссылка://тег/ssl/[ssl]ссылка://тег/tomcat/[tomcat]ссылка://тег/веб-службы/[веб-службы]
Related