SessionBeanに対するアダプタの定義について説明します。SessionBeanに対するアダプタは,サービスアダプタ定義画面で定義できます。
SessionBeanの場合,EARファイルから自動作成された電文フォーマット定義ファイルが,サービス部品の電文フォーマット定義ファイルとなります。そのため,サービス部品の電文フォーマットを設定する必要はありません。
サービス部品の電文フォーマットの作成方法については,「4.3.3 サービス部品電文を作成する(SessionBeanの場合)」を参照してください。
サービスリクエスタの電文の形式と,サービスアダプタが呼び出すサービス部品の電文の形式が異なる場合,データ変換が必要です。
要求電文のデータ変換を行う場合,サービスアダプタ定義画面で標準電文にサービスリクエスタから入力される電文を設定し,データ変換定義画面でデータ変換を定義します。応答電文のデータ変換を行う場合,サービス部品から返される電文に標準電文を設定し,データ変換定義画面でデータ変換を定義します。
データ変換の詳細については,「7. データ変換の定義」を参照してください。
サービスアダプタ定義画面では,JNDI名前空間に登録されている呼び出すサービス部品の名称を指定します。リモート呼び出しとなるようにアドレスを指定してください。サービス部品(SessionBean)のローカル呼び出しはできません。指定例を次に示します。
corbaname::myhost:900#HITACHI_EJB/SERVERS/J2EEServer/EJB/slsbsmpl/MyAdder
corbaname::localhost:900#HITACHI_EJB/SERVERS/J2EEServer/EJB/slsbsmpl/MyAdder
corbaname::127.0.0.1:900#HITACHI_EJB/SERVERS/J2EEServer/EJB/slsbsmpl/MyAdder
corbaname::HITACHI_EJB/SERVERS/J2EEServer/EJB/slsbsmpl/MyAdder
JNDI名前空間に登録されている名称については次の個所を参照してください。
Webサービスと同様に,サービス部品の利用者は,クライアント(サービスリクエスタ)側の動作を制御するクライアント定義ファイルを,「c4webcl.properties」というファイル名称で作成し,サービスアダプタ定義画面で設定する必要があります。「c4webcl.properties」はすべて小文字で入力します。クライアント定義ファイルの作成については,マニュアル「Cosminexus アプリケーションサーバ SOAPアプリケーション開発の手引」の「10.3 クライアント定義ファイルの設定」を参照してください。
なお,サービスアダプタ(SessionBean)の場合,クライアント定義ファイルに設定できる項目とできない項目があります。サービスアダプタ(SessionBean)の場合に設定できるクライアント定義ファイルの項目を次の表に示します。
表5-2 クライアント定義ファイルの設定項目
キー名称 | 内容 | 設定可否 |
---|---|---|
c4web.logger.log_level | トレースファイル出力の重要度 | ○ |
c4web.logger.aplog_level | アプリケーションログ出力の重要度 | ○ |
c4web.logger.aplog_error_record | 異常発生時のアプリケーションログ出力 | ○ |
c4web.logger.log_file_dir | トレースファイルおよびアプリケーションログの出力先ディレクトリ | ○ |
c4web.logger.log_file_num | トレースファイルの面数 | ○ |
c4web.logger.log_file_size | トレースファイルのサイズ | ○ |
c4web.logger.aplog_file_num | アプリケーションログの面数 | ○ |
c4web.logger.aplog_file_size | アプリケーションログのサイズ | ○ |
c4web.logger.log_file_prefix | トレースファイル,アプリケーションログのプリフィックス | ×※ |
c4web.common.do_multirefs | 多重参照(実行時オプション) | × |
c4web.common.send_xsi_types | データ型定義(実行時オプション) | × |
c4web.application.app_maintainsession | HTTPセッションの維持(実行時オプション) | × |
c4web.application.proxy_host | プロキシサーバのホスト名(実行時オプション) | × |
c4web.application.non_proxy_hosts | プロキシサーバを使用しないホスト名群(実行時オプション) | × |
c4web.application.proxy_port | プロキシサーバのポート番号(実行時オプション) | × |
c4web.application.proxy_user | プロキシサーバの認証ユーザID(実行時オプション) | × |
c4web.application.proxy_password | プロキシサーバの認証ユーザIDに対応するパスワード(実行時オプション) | × |
c4web.common.enable_soapheader_check | SOAPヘッダの名前修飾チェックオプション(実行時オプション) | × |
c4web.application.socket_timeout | クライアントのソケットタイムアウト値(実行時オプション) | × |
c4web.attachment.file_body_encoding | ボディエンコーディング種別 | × |
c4web.attachment.attachment_temp_directory | 退避先ディレクトリ | × |
c4web.attachment.attachment_file_delete_by_date | 不要退避ファイルの経過日数 | × |
c4web.common.prf_trace_level | 性能解析トレース出力オプション | ○ |
SessionBeanの場合,スタブを利用してサービス部品を呼び出すために,ユーザ定義クラス(JARファイル)を設定する必要があります。
なお,サービスアダプタ定義画面(SessionBeanの詳細画面)でJARファイルを設定するとき,選択するファイルの拡張子は,すべて小文字の「jar」としてください。
また,JARファイルとして次に示すファイル名は設定しないでください。
上記のファイル名を設定した場合,警告メッセージが表示されます。警告メッセージが表示された場合,上記のファイル名をユーザ定義クラスから削除します。そのあと,上記のファイル名を変更して,再度設定してください。
J2EEサーバのcjgetstubsjarコマンドを使ってRMI-IIOPスタブおよびインターフェースを取得します。cjgetstubsjarコマンドの詳細について,マニュアル「Cosminexus アプリケーションサーバ リファレンス コマンド編」の「cjgetstubsjar(アプリケーションのRMI-IIOPスタブおよびインタフェースの取得)」を参照してください。
SessionBeanに対するアダプタを定義する場合の手順を次に示します。