例をもとに、SOAPのRPC機能(JAX-RPC)を、共通APIで利用するアプリケーションの開発手順を説明します。
アプリケーションの開発は、以下の手順で行います。
図D.10 開発の手順
前提
サービスエンドポイント名:endpointRPC
手順
サービスエンドポイント定義を作成します。
SOAPのRPC機能を利用するためのサービスエンドポイント定義にサービスエンドポイント名“endpointRPC”を定義します。
作成方法については、“ISI Studio ヘルプ”を参照してください。
手順1で作成したサービスエンドポイント名をパラメタに設定し、通信制御クラス(ESIService)を生成します。
共通メッセージ(ESIMessage)を作成します。
共通メッセージの作成方法については、“D.5 共通メッセージの作成・操作”を参照してください。
ISIを呼び出します。
アプリケーションの例
import com.fujitsu.esi.client.ESIAPIException;
import com.fujitsu.esi.client.ESIService;
import com.fujitsu.esi.client.ESIServiceFactory;
import com.fujitsu.esi.message.ESIMessage;
public class ESISend {
public static void main(String[] args) {
try {
//(2)通信制御クラスを生成
ESIService service = ESIServiceFactory.getService("endpointRPC");
//(3)ESIMessageを作成
ESIMessage message= new ESIMessage();
:
//(4)ISIを呼び出す
ESIMessage returnMessage = service.send(message);……(a)
:
} catch (ESIAPIException e) {
e.printStackTrace();
}
}
} |
ISIの呼出しとして提供しているメソッドは、以下のとおりです。
同期/非同期送信呼出し:send(ESIMessage)
同期、非同期の設定は手順1のサービスエンドポイント定義で指定してください。
非同期受信呼出し:receive(ESIFilter)
注意
非同期受信メソッド“receive(ESIFilter)”を使用する場合は、引数としてESIFilterが必要です。ESIFilterにクエリを設定しない場合は、キューの先頭に格納されている共通メッセージを受信します。
ポイント
同期送信アプリケーションの作成方法は、RMI利用時と同じです。詳細については、“D.3.1 RMIの利用”を参照してください。非同期送信・受信アプリケーションの作成方法は、JMS利用時と同じです。詳細については、“D.3.2 JMS,JMS-Rの利用”を参照してください。RMIの利用・JMSの利用/JAX-RPCの利用は、サービスエンドポイント定義のサービス情報で切り替えます。
■Proxy、Basic認証、接続タイムアウト時間の設定
プロキシ情報、Basic認証、接続タイムアウト時間の設定は、サービスエンドポイント定義で設定します。設定方法は、“ISI Studio ヘルプ”を参照してください。
■SSLの設定
◆Interstage Application Serverを利用した場合
クライアント認証なしの場合、以下の手順で設定します。
動作環境の設定
証明書環境の構築
証明書の登録・管理用ファイルを配置するディレクトリの作成
証明書管理ファイルの作成
サーバのサイト証明書を登録している認証局からの認証局証明書取得
認証局証明書の登録
証明書管理ファイルの作成
クライアントアプリケーションの設定
クライアント認証ありの場合以下の手順で設定します。
動作環境の設定
証明書環境の構築
証明書の登録・管理用ファイルを配置するディレクトリの作成
証明書管理ファイルの作成
証明書発行要求の作成
証明書の発行依頼
認証局から証明書の取得
認証局から発行された証明書の登録
認証局から発行されたサイト証明書の登録
クライアントアプリケーションの設定
SSLの設定方法の詳細については、“Interstage Application Server セキュリティシステム運用ガイド”を参照してください。
◆AXISを利用した場合
SSL情報は、アプリケーション実行時のJavaVMオプションからシステムプロパティに設定します。
例:ESISend.java
# java |
注:コンパイル・実行時に必要な設定を確認してください。必要な設定については、“D.6 アプリケーションのコンパイルと実行”を参照してください。
プロパティ名 | 値 |
---|---|
javax.net.ssl.trustStore | SSLサーバ認証用のキーストアのパス名 |
javax.net.ssl.trustStorePassword | SSLサーバ認証用のキーストアのパスワード |
javax.net.ssl.trustStoreType | SSLサーバ認証用のキーストアのタイプ |
javax.net.ssl.keyStore | SSLクライアント認証用のキーストアのパス名 |
javax.net.ssl.keyStorePassword | SSLクライアント認証用のキーストアのパスワード |
javax.net.ssl.keyStoreType | SSLクライアント認証用のキーストアのタイプ |