Web サービスとクライアント間で安全なプラベート通信を行うために HTTP over SSL (HTTPS) を使用します。JRun の Web サーバまたは外部 Web サーバを通じて SSL を使用するように設定した JRun では、Web サービスクライアントは HTTPS を介して JRun Web サービスと通信できます。さらに、JRun 内で実行中の Web サービスクライアントは、わずかな設定で HTTPS を使用して Web サービスと通信できます。
SSL を使用するように JRun を設定する方法については、JMC (JRun 管理コンソール) のオンラインヘルプを参照してください。必要な SSL ハンドシェークを設定した Web サービスクライアントは、HTTPS を使用して JRun Web サービスでメソッドを呼び出すことができます。
この例では、サーバからの SSL 証明書のコピーを持っていることを前提としています。証明書のコピーを取得するには、HTTPS を介して Web ブラウザを通じてサーバに接続し、証明書をファイルにエクスポートします。
SSL 証明書のコピーを入手したら、トラストストアに入れる必要があります。トラストストアでは、クライアントが信頼するサーバからの証明書を保持します。Sun の JRE (Java Runtime Environment:Java ランタイム環境) に含まれている keytool ユーティリティを使用してトラストストアを作成し、サーバの証明書をインポートできます。
<Java のホームディレクトリ>bin/keytool -import -file <ファイルパス/ 証明書名>.cer -alias JRun -keystore trustStore
vmArgs
属性を設定します。javax.net.ssl.keyStorePassword
の値には、手順 3 で入力したパスワードを指定します。<service class="jrunx.launcher.LauncherInfo" name="LauncherInfo"> <attribute name="vmArgs"> -Djava.protocol.handler.pkgs= com.sun.net.ssl.internal.www.protocol -Djavax.net.ssl.trustStore={path_to_JRun_lib}¥trustStore -Djavax.net.ssl.keyStorePassword=<パスワード> </attribute> ...
これらの手順を完了すると、HTTPS を使用してクライアントから Web サービスを呼び出すことができます。次の例は、HTTPS を使用するように設定した Web サービスの invoke
タグを示しています。url
値のプロトコル部分は https
である必要があります。また、ポート番号は JRun JMC で SSL を設定したときにポート番号として指定したものと一致する必要があります。
<web:invoke
namespace="AxisSampleJavaClassService" url="https://localhost:443/ws/services" operation="SampleService" result="myresultInt" scope="page"> <web:param name="input" value="3"/> </web:invoke>
コマンドラインプログラムなどの JRun 外で動作する Web サービスクライアントを使用するには、Sun の JSSE (Java Secure Socket Extension) を設定する必要があります。
JSSE とは、SSL を処理するときに JRun が内部で使用するものです。JSSE の設定手順については、次の URL にある Sun のマニュアルを参照してください。