Webサービスクライアントからプロキシサーバを経由して,外部のネットワークにあるWebサービスを利用できます。
ここでは,プロキシサーバを経由して外部に接続する場合に必要なプロパティの設定について説明します。
プロキシサーバを経由してWebサービスにアクセスするには,JavaVMのプロパティ,またはApplication ServerのJAX-WS機能固有のプロパティを指定して,プロキシサーバの情報を設定します。プロキシサーバ経由で接続するためのプロパティと指定内容を次の表に示します。
表10-14 プロキシサーバ経由で接続するためのプロパティ
項番 | プロパティ | 指定内容 | 非SSLの場合 | SSLの場合 |
---|---|---|---|---|
1 | http.proxyHost※1 | プロキシサーバのホスト名またはIPアドレスを指定します。 空文字を指定した場合は,プロキシサーバに接続されません。 | ○ | × |
2 | http.proxyPort※1 | プロキシサーバのポート番号を設定します。 http.proxyHostが適切に設定されていた場合に,http.proxyPortに空文字を指定したときは,http.proxyHostに指定されているホストの80番ポートにアクセスされます。 http.proxyHostを指定していない場合は,http.proxyPortを指定しても,プロキシサーバに接続されません。 | △ | × |
3 | com.cosminexus.jaxws.http.proxyUser※2 | プロキシサーバの認証ユーザIDを設定します。 http.proxyHostプロパティ,およびhttp.proxyPortプロパティが適切に設定されていた場合に,com.cosminexus.jaxws.http.proxyUserプロパティに空文字を指定したときは,匿名でプロキシサーバに接続します。 | △ | × |
4 | com.cosminexus.jaxws.http.proxyPassword※2 | プロキシサーバの認証ユーザIDに対応するパスワードを設定します。 次のプロパティが適切に設定されていた場合に,com.cosminexus.jaxws.http.proxyPasswordプロパティに空文字を指定したときは,パスワードを設定しないでプロキシサーバに接続します。
| △ | × |
5 | https.proxyHost※1 | SSLプロトコルによる接続※3で使用するプロキシサーバのホスト名かIPアドレスを設定します。 SSLプロトコルによる接続でプロキシサーバを使用する場合は,必ず設定してください。なお,空文字を指定した場合は,プロキシサーバに接続されません。 | × | ○ |
6 | https.proxyPort※1 | SSLプロトコルによる接続※3で使用するプロキシサーバのポート番号を設定します。なお,https.proxyHostが適切に設定されていた場合に,https.proxyPortに空文字を指定したときは,https.proxyHostに指定されているホストの443番ポートにアクセスされます。 https.proxyHostを指定していない場合は,https.proxyPortを設定しても,プロキシサーバに接続されません。 | × | △ |
7 | com.cosminexus.jaxws.https.proxyUser※2 | SSLプロトコルによる接続※3で使用するプロキシサーバの認証ユーザIDを設定します。 https.proxyHostプロパティ,およびhttps.proxyPortプロパティが適切に設定されていた場合に,com.cosminexus.jaxws.https.proxyUserプロパティに空文字を指定したときは,匿名でプロキシサーバに接続します。 | × | △ |
8 | com.cosminexus.jaxws.https.proxyPassword※2 | SSLプロトコルによる接続※3で使用するプロキシサーバの認証ユーザIDに対応するパスワードを設定します。 次のプロパティが適切に設定されていた場合に,com.cosminexus.jaxws.https.proxyPasswordプロパティに空文字を指定したときは,パスワードを設定しないでプロキシサーバに接続します。
| × | △ |
9 | http.nonProxyHosts※1 | プロキシサーバを利用しないホスト名群を必要に応じて指定します。 このプロパティで指定したホストに接続する場合は,http.proxyHostまたはhttps.proxyHostに指定したプロキシサーバは経由されません。ホストを複数指定する場合は,「|」で区切って設定します。ホスト名とホスト名の間には,「|」以外の文字(空白など)は指定できません。 | △ | △ |
Application ServerのJAX-WS機能固有のプロパティは,動作定義ファイルに設定します。動作定義ファイルの設定方法については「10.1 動作定義ファイル」を参照してください。JAX-WS機能固有のプロパティを利用する場合,「10.10(4) JAX-WS機能固有のプロパティを利用する場合の注意事項」の内容に注意してください。
JavaVMのシステムプロパティの設定方法は,Webサービスクライアントの実行形態によって異なります。
プロパティの設定例を示します。
http.proxyHost=10.209.15.79 |
プロパティの設定を追加する位置についての決まりはありません。
JAX-WS機能固有のプロパティは簡易的なプロパティです。そのため,細かな制御をしたい場合,WebサービスクライアントでJ2SE 6.0標準のjava.net.Authenticatorクラスを利用した実装をすることをお勧めします。詳細についてはJ2SE 6のドキュメントを参照してください。java.net.Authenticatorクラスを利用した実装例を次に示します。
java.net.Authenticator.setDefault( new java.net.Authenticator(){ |
Application Serverは,Java SE標準のjava.net.AuthenticatorクラスのsetDefault()メソッドを利用して,JAX-WS機能固有のプロパティの値をJavaVMに設定します。そのため,次の点に注意してください。