5.3.2 サービスアダプタ(SessionBean)を定義する

SessionBeanに対するアダプタの定義について説明します。SessionBeanに対するアダプタは,サービスアダプタ定義画面で定義できます。

<この項の構成>
(1) サービス部品の電文フォーマット
(2) データ変換
(3) JNDI名前空間に登録されている呼び出すサービス部品の名称の指定
(4) クライアント定義ファイルの作成と設定
(5) ユーザ定義クラス(JARファイル)の設定
(6) RMI-IIOPスタブおよびインターフェースの取得
(7) サービスアダプタ定義画面での操作

(1) サービス部品の電文フォーマット

SessionBeanの場合,EARファイルから自動作成された電文フォーマット定義ファイルが,サービス部品の電文フォーマット定義ファイルとなります。そのため,サービス部品の電文フォーマットを設定する必要はありません。

サービス部品の電文フォーマットの作成方法については,「4.3.3 サービス部品電文を作成する(SessionBeanの場合)」を参照してください。

(2) データ変換

サービスリクエスタの電文の形式と,サービスアダプタが呼び出すサービス部品の電文の形式が異なる場合,データ変換が必要です。

要求電文のデータ変換を行う場合,サービスアダプタ定義画面で標準電文にサービスリクエスタから入力される電文を設定し,データ変換定義画面でデータ変換を定義します。応答電文のデータ変換を行う場合,サービス部品から返される電文に標準電文を設定し,データ変換定義画面でデータ変換を定義します。

データ変換の詳細については,「7. データ変換の定義」を参照してください。

(3) JNDI名前空間に登録されている呼び出すサービス部品の名称の指定

サービスアダプタ定義画面では,JNDI名前空間に登録されている呼び出すサービス部品の名称を指定します。リモート呼び出しとなるようにアドレスを指定してください。サービス部品(SessionBean)のローカル呼び出しはできません。指定例を次に示します。

JNDI名前空間に登録されている名称については次の個所を参照してください。

(4) クライアント定義ファイルの作成と設定

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_maintainsessionHTTPセッションの維持(実行時オプション)×
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_checkSOAPヘッダの名前修飾チェックオプション(実行時オプション)×
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性能解析トレース出力オプション
(凡例)
○:設定できます。
×:設定できません。設定した場合は無視されます。
注※
値は必ずサービスIDに変更されるため,設定する必要はありません。

(5) ユーザ定義クラス(JARファイル)の設定

SessionBeanの場合,スタブを利用してサービス部品を呼び出すために,ユーザ定義クラス(JARファイル)を設定する必要があります。

なお,サービスアダプタ定義画面(SessionBeanの詳細画面)でJARファイルを設定するとき,選択するファイルの拡張子は,すべて小文字の「jar」としてください。

また,JARファイルとして次に示すファイル名は設定しないでください。

上記のファイル名を設定した場合,警告メッセージが表示されます。警告メッセージが表示された場合,上記のファイル名をユーザ定義クラスから削除します。そのあと,上記のファイル名を変更して,再度設定してください。

(6) RMI-IIOPスタブおよびインターフェースの取得

J2EEサーバのcjgetstubsjarコマンドを使ってRMI-IIOPスタブおよびインターフェースを取得します。cjgetstubsjarコマンドの詳細について,マニュアル「Cosminexus アプリケーションサーバ リファレンス コマンド編」の「cjgetstubsjar(アプリケーションのRMI-IIOPスタブおよびインタフェースの取得)」を参照してください。

(7) サービスアダプタ定義画面での操作

SessionBeanに対するアダプタを定義する場合の手順を次に示します。

  1. サービスアダプタ定義画面を表示します。
    サービスアダプタ定義画面の表示方法については,「5.3.1(5) サービスアダプタ定義画面の表示」を参照してください。
  2. サービス部品制御情報の[サービス名],[サービスID],および[最大インスタンス数]を必要に応じて編集します。
  3. サービス部品制御情報の[アドレス]を指定します。
    [アドレス]には,JNDI名前空間に登録されている呼び出すサービス部品の名称を取得して,入力します。JNDI名前空間に登録されている名称については次の個所を参照してください。
    • マニュアル「Cosminexus アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「2. ネーミング管理」
    • マニュアル「Cosminexus アプリケーションサーバ 機能解説 基本・開発編(EJBコンテナ)」の「2.5 EJBコンテナのJNDI名前空間へのリファレンス登録」
  4. サービス部品制御情報の[オペレーション]のドロップダウンリストから,編集したいオペレーションを選択します。
  5. オペレーション情報に表示されている内容を確認します。
  6. サービス部品制御情報の[システム例外をフォルトに変換する]チェックボックスを必要に応じてチェックします。
  7. 要求電文について,手順8.から手順18.までを実施します。
  8. 次に示す操作をします。
    標準電文のフォーマットを指定する場合
    手順9.~12.を実施して,手順13.に進みます。
    標準電文のフォーマットを指定しない場合
    手順13.に進みます。
  9. 標準電文の[使う]チェックボックスをチェックします。
  10. 標準電文の[フォーマットID]を指定します。
  11. 標準電文の[参照]ボタンをクリックして,[電文フォーマット]に標準電文のフォーマットを指定します。
    なお,外部のXMLスキーマを参照している電文フォーマットを設定する場合,必ずルートスキーマに当たるファイルを設定してください。ルートスキーマから参照される外部のXMLスキーマファイルは,自動的に取り込まれます。
    指定できる電文フォーマットの形式については,「2.6.5 XMLスキーマの適用範囲」を参照してください。
  12. 標準電文の[表示]ボタンをクリックします。
    標準電文のフォーマットが表示されます。必要に応じて指定した標準電文のフォーマットを確認してください。
  13. サービス部品電文の[フォーマットID]を指定します。
  14. サービス部品電文の[表示]ボタンをクリックします。
    サービス部品電文のフォーマットが表示されます。必要に応じてサービス部品電文のフォーマットを確認してください。
  15. 次に示す操作をします。
    標準電文の[使う]チェックボックスをチェックした場合
    手順16.~18.を実施して,手順19.に進みます。
    標準電文の[使う]チェックボックスをチェックしない場合
    手順19.に進みます。
  16. データ変換定義のファイル名を入力します。
  17. [編集]ボタンをクリックします。
    データ変換定義画面が表示されます。
    なお,初めて定義する場合は,[ルート要素選択]ダイアログが表示されます。
    また,電文フォーマットを変更した場合は,電文フォーマットの変更を反映するかを確認するダイアログが表示されます。電文フォーマットを変更した場合の手順は,「7.3.2 電文フォーマットを変更した場合の定義手順」を参照してください。
  18. 標準電文とサービス部品電文の内容をマッピングします。
  19. 応答電文についても同様に,手順8.から手順18.までを実施します。
  20. サービスアダプタ定義(詳細)タブをクリックします。
  21. [参照]ボタンをクリックして,クライアント定義ファイル(c4webcl.properties)を指定します。
  22. [追加]ボタンをクリックして,該当するユーザ定義クラスを追加します。
    ユーザ定義クラスは,「5.3.2(6) RMI-IIOPスタブおよびインターフェースの取得」で取得したスタブおよびインターフェースのJARファイルを指定します。
  23. 定義内容を確認して,Eclipseのメニューから[ファイル]-[保管]を選択し,定義内容を保存します。