Tomcat SSL接続でJAX-WS Webサービスをデプロイする

この記事では、TLS/SSLまたはhttpsセキュア接続を有効にしてTomcatにJAX-WS Webサービスをデプロイする方法を説明します。実際には、答えは非常に単純で、通常のWebサービスとして展開し、Tomcatサーバー上にSSL接続を正しく設定しました。

1. Tomcat SSLを設定する

詳細については、このガイドのリンクを参照してください。//Tomcat/how-to-configure-tomcat-to-support-ssl-or-https/[SSLまたはhttps接続をサポートするTomcatを作成する]

基本的には、信頼できる証明書プロバイダから証明書を購入するか、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サービスと同じようにデプロイしてください。このマニュアルは、webservices/jax-ws/deploy-jax-ws-web-services-on-tomcat/[Tomcatサーブレットコンテナの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());
**  Note **  + localhost SSLテスト環境の場合、クライアントは以下の例外を打つでしょう。以下の問題と解決策をお読みください:

.  webservices/jax-ws/java-security-cert-certificateexception-no-name-matching-localhost-found/[java.security.cert.CertificateException:

名前が一致するlocalhostが見つかりません]。リンク://webservices/jax-ws/suncertpathbuilderexception-unable-to-find-valid-certification-path-to-requested-target/[SunCertPathBuilderException:

要求されたターゲットへの有効な証明経路を見つけることができません]

===  4.完了

あなたのWebサービスはSSL保護されていて、シンプルで、Webサービスサイトの変更はありません。 SSL接続のみをサポートするようにTomcatを設定してください。

===== リファレンス

.  http://en.wikipedia.org/wiki/SSL[Wiki  -  SSL接続]

.  link://webservices/jax-ws/jax-ws-hello-world-example/[JAX-WS hello

世界の例]

リンク://タグ/https/[https]リンク://タグ/jax-ws/[jax-ws]リンク://タグ/ssl/[ssl]link://tag/tomcat/[tomcat]link://タグ/web-services/[webサービス]
前の投稿:jQuery経由で最後のツイートを取得する方法
次の投稿:Spring MVC Log4jの例