5.3.1 サービスアダプタ(Webサービス)を定義する

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

<この項の構成>
(1) サービス部品の電文フォーマット
(2) データ変換
(3) クライアント定義ファイルの作成と設定
(4) ベーシック認証の設定
(5) サービスアダプタ定義画面の表示
(6) サービスアダプタ定義画面での操作

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

Webサービスの場合,WSDLから作成された電文フォーマット定義ファイルが,サービス部品の電文フォーマット定義ファイルとなります。そのため,要求電文および応答電文ともに,サービス部品の電文フォーマットを設定する必要はありません。

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

(2) データ変換

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

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

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

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

サービス部品の利用者は,クライアント(サービスリクエスタ)側の動作を制御するクライアント定義ファイルを,「c4webcl.properties」というファイル名称で作成し,サービスアダプタ定義画面で設定する必要があります。「c4webcl.properties」はすべて小文字で入力します。クライアント定義ファイルの作成については,マニュアル「Cosminexus SOAPアプリケーション開発ガイド」を参照してください。

クライアント定義ファイルの作成に関する注意事項を次の表に示します。

表5-1 クライアント定義ファイルの作成に関する注意事項

設定項目キー名称設定値
(デフォルト値)
注意事項設定可否
多重参照c4web.common.do_multirefsfalseデフォルト値以外の値を指定した場合の動作は保証できません。×
データ型定義c4web.common.send_xsi_typestrue×
文字参照形式オプションc4web.common.character_referencefalse×
HTTPセッションの維持c4web.application.app_maintainsessionfalse×
SOAPヘッダの名前修飾チェックオプションc4web.common.enable_soapheader_checktrueユーザ定義受付の場合,このオプションは,falseとして動作します。
トレースファイル,アプリケーションログのプレフィクスc4web.logger.log_file_prefixサービスID値は必ずサービスIDに変更されるため,設定する必要はありません。×
(凡例)
○:設定できます。
×:設定できません。

(4) ベーシック認証の設定

対象となるサービス部品がユーザ認証を必要とするWebサーバ上にある場合は,ベーシック認証(ユーザ名およびパスワード)の設定が必要になります。

(5) サービスアダプタ定義画面の表示

サービスアダプタを定義するために,サービスアダプタ定義画面を表示します。サービスアダプタ定義画面は,ツリービューのサービス定義一覧から,該当するサービスアダプタを選択し,ダブルクリックすると表示されます。

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

Webサービスに対するアダプタを定義する場合の手順を次に示します。

  1. サービスアダプタ定義画面を表示します。
    サービスアダプタ定義画面の表示方法については,「5.3.1(5) サービスアダプタ定義画面の表示」を参照してください。
  2. サービス部品制御情報の[サービス名],[サービスID],および[最大インスタンス数]を必要に応じて編集します。
  3. サービス部品制御情報の[オペレーション]のドロップダウンリストから,編集したいオペレーションを選択します。
  4. オペレーション情報に表示されている内容を確認します。
  5. 要求電文について,手順6.から手順16.までを実施します。
  6. 次に示す操作をします。
    標準電文のフォーマットを指定する場合
    手順7.~10.を実施して,手順11.に進みます。
    標準電文のフォーマットを指定しない場合
    手順11.に進みます。
  7. 標準電文の[使う]チェックボックスをチェックします。
  8. 標準電文の[フォーマットID]を指定します。
  9. 標準電文の[...]ボタンをクリックして,[電文フォーマット]に標準電文のフォーマットを指定します。
    なお,外部のXMLスキーマを参照している電文フォーマットを設定する場合,必ずルートスキーマに当たるファイルを設定してください。ルートスキーマから参照される外部のXMLスキーマファイルは,自動的に取り込まれます。
    指定できる電文フォーマットの形式については,「2.5.5 XMLスキーマの適用範囲」を参照してください。
  10. 標準電文の[表示]ボタンをクリックします。
    標準電文のフォーマットが表示されます。必要に応じて指定した標準電文のフォーマットを確認してください。
  11. サービス部品電文の[フォーマットID]を指定します。
  12. サービス部品電文の[表示]ボタンをクリックします。
    サービス部品電文のフォーマットが表示されます。必要に応じてサービス部品電文のフォーマットを確認してください。
  13. 次に示す操作をします。
    標準電文の[使う]チェックボックスをチェックした場合
    手順14.~16.を実施して,手順17.に進みます。
    標準電文の[使う]チェックボックスをチェックしない場合
    手順17.に進みます。
  14. データ変換定義のファイル名を入力します。
  15. [編集]ボタンをクリックします。
    データ変換定義画面が表示されます。初めて定義する場合は,[ルート要素選択]ダイアログが表示されます。
  16. 標準電文とサービス部品電文の内容をマッピングします。
  17. 応答電文についても同様に,手順6.から手順16.までを実施します。
  18. サービスアダプタ定義(詳細)タブをクリックします。
  19. [...]ボタンをクリックして,クライアント定義ファイル(c4webcl.properties)を指定します。
  20. サービス部品がユーザ認証を必要とするWebサーバ上にあるかどうかで,次に示す操作をします。
    ユーザ認証が必要な場合
    手順21~23.を実施して,手順24.に進みます。
    ユーザ認証が不要な場合
    手順24.に進みます。
  21. ベーシック認証の[使う]チェックボックスをチェックします。
  22. ユーザ名およびパスワードの欄に,ベーシック認証のために必要なユーザ名およびパスワードを入力します。
  23. パスワード(確認)欄に,パスワードの欄で入力したパスワードと同じパスワードを入力します。
  24. 定義内容を確認して,Eclipseのメニューから[ファイル]-[保管]を選択し,定義内容を保存します。