Interstage Application Server SOAPサービス ユーザーズガイド |
目次 索引 |
第4章 Messaging方式のアプリケーションの実装 | > 4.2 送信アプリケーションの作成 |
送信アプリケーションでHTTP接続情報を設定するには、以下のクラスを使用します。
●パッケージ名:com.fujitsu.interstage.soapx.soap
クラス名 |
メソッド |
説明 |
---|---|---|
SOAPConnectionImpl |
public void |
プロキシのホスト(proxyHostName)、ポート番号(port)を設定します。 |
public void int port, String authName, |
プロキシのホスト(proxyHostName)、ポート番号(port)、HTTPベーシック認証ユーザ名(authName)、HTTPベーシック認証パスワード(authPassword)を設定します。 |
|
public void |
プロキシのHTTPベーシック認証ユーザ名(authName)を設定します。 |
|
public void |
プロキシのHTTPベーシック認証パスワード(authPassword)を設定します。 |
|
public void |
Webサービスの認証ユーザ名(authName)を設定します。HTTPベーシック認証およびSOAPメッセージに対するユーザ認証に有効です。SOAPメッセージに対するユーザ認証については“セキュリティシステム運用ガイド”の“ユーザ認証、SOAP電子署名、XML暗号を使用する方法”の“SOAPメッセージに対するユーザ認証の設定”を参照してください。 |
|
public void |
Webサービスの認証パスワード(authPassword)を設定します。HTTPベーシック認証およびSOAPメッセージに対するユーザ認証に有効です。SOAPメッセージに対するユーザ認証については“セキュリティシステム運用ガイド”の“ユーザ認証、SOAP電子署名、XML暗号を使用する方法”の“SOAPメッセージに対するユーザ認証の設定”を参照してください。 |
|
public void |
HTTPセション継続を行うかどうかを設定します。 |
|
public void setTimeout( int timeout ) |
接続のタイムアウト時間をミリ秒で設定します。 |
プロキシ接続を使用する場合はjavax.xml.soap.SOAPConnectionオブジェクトを一旦com.fujitsu.interstage.soapx.soap.SOAPConnectionImplクラスにキャストし、プロキシ情報設定メソッドを呼び出します。
import javax.xml.soap.*; import com.fujitsu.interstage.soapx.soap.SOAPConnectionImpl; ..... SOAPConnectionFactory scf = SOAPConnectionFactory.newInstance(); SOAPConnection conn = scf.createConnection(); //**プロキシ情報の設定1** ((SOAPConnectionImpl)conn).setProxy( "proxyHostName", 8080 ); //**プロキシ情報の設定2** ((SOAPConnectionImpl)conn).setProxy( "proxyHostName", 8080, "suzuki", "taro" ); //**プロキシ情報の設定3** ((SOAPConnectionImpl)conn).setProxy( "proxyHostName", 8080 ); ((SOAPConnectionImpl)conn).setProxyUserName( "suzuki" ); ((SOAPConnectionImpl)conn).setProxyPassword( "taro" ); ..... |
プロキシ接続を使用する場合は以下の項目を設定します。
プロキシホスト名とポート番号は必須項目です。ユーザ名やパスワードを使用せずにプロキシサーバへ接続する場合はホスト名とポート番号のみを設定します(上記例1)。プロキシサーバへの接続にユーザ名とパスワードが必要な場合はすべての項目をまとめて設定する方法(上記例2)と別々に設定する方法(上記例3)がありますので適宜選択してください。
Webサービスでベーシック認証を行っている場合、またはSOAPメッセージに対するユーザ認証を行っている場合は、javax.xml.soap.SOAPConnectionオブジェクトをいったんcom.fujitsu.interstage.soapx.soap.SOAPConnectionImplクラスにキャストし、パスワード認証情報設定メソッドを呼び出してユーザ名とパスワードを設定します。SOAPメッセージに対するユーザ認証については、“セキュリティシステム運用ガイド”の“ユーザ認証、SOAP電子署名、XML暗号を使用する方法”の“SOAPメッセージに対するユーザ認証の設定”を参照してください。
以下に例を示します。
import javax.xml.soap.*; import com.fujitsu.interstage.soapx.soap.SOAPConnectionImpl; ..... SOAPConnectionFactory scf = SOAPConnectionFactory.newInstance(); SOAPConnection conn = scf.createConnection(); // パスワード認証情報の設定 ((SOAPConnectionImpl)conn).setUserName( "suzuki" ); ((SOAPConnectionImpl)conn).setPassword( "taro" ); ..... |
セション管理を行うことで、同じ送信アプリケーションからの複数回のリクエストを受信アプリケーションの同じインスタンスで処理できます。また、セション管理を行うことによって、前回の処理結果を引き継ぐことが可能となり、継続的な処理を行うことができます。
セション管理を使用する場合はjavax.xml.soap.SOAPConnectionオブジェクトを一旦com.fujitsu.interstage.soapx.soap.SOAPConnectionImplクラスにキャストし、セション管理設定メソッドを呼び出します。
import javax.xml.soap.*; import com.fujitsu.interstage.soapx.soap.SOAPConnectionImpl; ..... SOAPConnectionFactory scf = SOAPConnectionFactory.newInstance(); SOAPConnection conn = scf.createConnection(); // セション管理情報の設定 ((SOAPConnectionImpl)conn).setMaintainSession(true); ..... |
セション管理の情報を保持するように設定されたcom.fujitsu.interstage.soapx.soap.SOAPConnectionImplクラスのインスタンスを使用して受信アプリケーションを呼び出すことで、セションを継続できます。
com.fujitsu.interstage.soapx.soap.SOAPConnectionImpl.setMaintainSessionメソッドを、パラメタに"false"を指定して呼び出した場合、このcom.fujitsu.interstage.soapx.soap.SOAPConnectionImplクラスのインスタンスはセション管理の情報を破棄し、セションは継続されなくなります。
接続先から応答がない場合に接続を切断するタイムアウト時間を設定する場合は、javax.xml.soap.SOAPConnectionオブジェクトをいったんcom.fujitsu.interstage.soapx.soap.SOAPConnectionImplクラスにキャストし、タイムアウト設定メソッドを呼び出してタイムアウト時間をミリ秒で設定します。明示的にタイムアウト時間を設定しなかった場合には、デフォルトのタイムアウト時間(5分)が適用されます。
import javax.xml.soap.*; import com.fujitsu.interstage.soapx.soap.SOAPConnectionImpl; ..... SOAPConnectionFactory scf = SOAPConnectionFactory.newInstance(); SOAPConnection conn = scf.createConnection(); // タイムアウト時間の設定(15分) ((SOAPConnectionImpl)conn).setTimeout( 15*60*1000 ); ..... |
目次 索引 |