Webサービスクライアントアプリケーションで追加のHTTP接続情報を設定する方法について以下に説明します。
接続先URLを指定する方法
スタブオブジェクトはWSDLで定義されたデフォルトの接続先URLに対してリモート呼び出しを行います。明示的に接続先URLを指定したい場合は、スタブオブジェクトに対してプロパティで接続先のURLを指定します。
スタブオブジェクトにプロパティで指定するには、javax.xml.rpc.Stubインタフェースの_setPropertyメソッドを使用して、プロパティとして接続先URLを設定します。
import javax.xml.rpc.Stub;
       ..... 
  StockQuoteProviderService abf =
      (StockQuoteProviderService) sf.loadService(StockQuoteProviderService.class);
  StockQuoteProvider quoteProvider = abf.getStockQuoteProviderPort();
  ((Stub)quoteProvider)._setProperty("javax.xml.rpc.service.endpoint.address",
      "http://anotherhost/StockService/services/StockQuoteProvider");//接続先URLを指定
  float quote = quoteProvider.getLastTradePrice(tickerID);//指定されたURLに接続接続先URLに関するプロパティは、以下のとおりです。
| キー | 値(java.lang.String) | 
|---|---|
| javax.xml.rpc.service.endpoint.address | 接続先のURL(デフォルトはWSDLで指定されたURL) | 
Webサービスのユーザ名/パスワードを設定する方法
WebサービスでHTTP Basic認証を行っている場合は、スタブオブジェクトに対してプロパティとして認証情報を設定します。
Webサービスのユーザ名/パスワードに関するプロパティは、以下のとおりです。
| キー | 値(java.lang.String) | 
|---|---|
| javax.xml.rpc.security.auth.username | ユーザ名 | 
| javax.xml.rpc.security.auth.password | パスワード | 
接続のタイムアウトを指定する方法
接続先から応答がない場合に接続を切断するタイムアウト時間を指定する場合は、スタブオブジェクトに対してプロパティとしてタイムアウト時間をミリ秒で設定します。
タイムアウト時間に関するプロパティは、以下のとおりです。
| キー | 値(java.lang.Integer) | 
|---|---|
| com.fujitsu.interstage.isws.client.connect.timeout | タイムアウト時間(ミリ秒) (デフォルトは10分) | 
セション管理の利用を指定する方法
HTTP Cookieを利用したセション管理の利用を指定する場合は、スタブオブジェクトに対してプロパティとして「利用する・しない」をjava.lang.Booleanオブジェクトで設定します。
セション管理の利用に関するプロパティは、以下のとおりです。
| キー | 値(java.lang.Boolean) | 
|---|---|
| javax.xml.rpc.session.maintain | Boolean.TRUE(利用する) | 
注意
セション管理は、呼び出すWebサービスがHTTP Cookieを利用したセション管理を行っている場合に有効です。
Webサービスクライアントアプリケーション終了時、セション管理情報を含むcookieは保存されません。
セションのタイムアウトが発生した後に処理を継続した場合、新規のセションが確立されます。
ポイント
スタブオブジェクトのプロパティは、プログラムでの設定以外に外部ファイルでも設定できます。詳細については“19.2.2 スタブ設定ファイル”を参照してください。
プロキシに関する設定
“19.2.3 プロキシを経由した接続”を参照してください。