9.1 RFIServiceクライアント・クラスの使用
RFIServiceは、リモート・ファンクションの呼び出しプログラミングに使用されるクライアント・クラスです。
RFIServiceのインスタンスを作成するには、スタティックなgetInstanceメソッドを使用します。このメソッドにはプロパティ・パラメータが必要です。これらのプロパティは、ホスト接続の通信特性を制御します。
プロパティ |
説明 |
rfi.server |
ホスト・プロトコルとアドレス http://your.own.url:port |
rfi.proxy |
プロキシー・サーバー |
rfi.user |
基本認証ユーザー |
rfi.password |
基本認証パスワード |
rfi.agent |
ホスト・エージェント・プログラム |
rfi.protocol.version |
Javaシリアライゼーション・バージョン - 1または2 |
rfi.protocol.encoding |
HTTPプロトコル見出しエンコーディング |
rfi.authentication.encoding |
HTTP基本認証エンコーディング |
rfi.server.trusted |
信頼ストアにピア証明書が含まれない場合は、SSL接続に必要です。 |
例
Properties properties = new Properties () ;
properties.put ( "rfi.server", "http://your.own.url:port" ) ;
RFIService service = RFIService.getInstance ( properties ) ;
RFIServiceには、シリアライズされたオブジェクトを送受信する2つのメソッドがあります。
getObjectメソッドは、指定したサービス名でホスト・サーバーからシリアライズされた応答オブジェクトを受信する場合に使用されます。
Object getObject ( String service )
Object getObject ( RFIObject service ) ;
例
Object object = service.getObject ( "EMPLOYEE-FETCH" ) ;
putObjectメソッドは、シリアライズされたオブジェクトをホスト・サーバーに送信し、この指定サービスから応答オブジェクトを受信します。
Object putObject ( String service, Object sendObject ) ;
Object putObject ( RFIObject sendObject ) ;
例
Object object = service.putObject ( "EMPLOYEE-UPDATE", employee ) ;
ホストからの応答状況が成功ではない場合、RFIExceptionが投げられます。
応答のコンテンツ・タイプが「アプリケーション/x-java-シリアライズ-オブジェクト」ではない場合、RFIExceptionが投げられます。
コンテンツが返されない場合、nullオブジェクト参照が返されます。それ以外の場合は、コンテンツがデシリアライズされてオブジェクト参照が返されます。
RFIObjectインターフェースには、サービス名を返すメソッドが1つあります。
このメソッドを使用すると、sendObjectはサービス名を指定できるため、Stringサービス名パラメータの必要性がなくなります。
public interface RFIObject
{
public String getService () ;
}
RFIExceptionクラスには、応答状況とメッセージにアクセスできるメソッドが複数あります。
メソッド |
説明 |
int getStatus () |
応答状況コードを取得します。 |
String getMessage () |
応答状況メッセージを取得します。 |
byte[] getContent () |
応答内容を取得します。 |
Enumeration propertyNames () |
応答プロパティを取得します。 |
getProperty ( String property ) |
応答プロパティを取得します。 |