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

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

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

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

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

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

(2) データ変換

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

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

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

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

サービス部品の利用者は,クライアント(サービスリクエスタ)側の動作を制御するクライアント定義ファイルを作成します。SOAP1.1モードおよびSOAP1.1/1.2併用モードの場合に分けて,クライアント定義ファイルの作成方法および定義方法を示します。

SOAP1.1モードの場合
「c4webcl.properties」というファイル名称でクライアント定義ファイルを作成し,サービスアダプタ定義画面で設定します。「c4webcl.properties」はすべて小文字で入力します。SOAP1.1モードを使用する場合のクライアント定義ファイルの作成については,マニュアル「Cosminexus アプリケーションサーバ SOAPアプリケーション開発の手引」の「10.3 クライアント定義ファイルの設定」を参照してください。
次の表に,SOAP1.1モードを使用する場合のクライアント定義ファイル作成時の注意事項を示します。

表5-1 クライアント定義ファイルの作成に関する注意事項(SOAP1.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に変更されるため,設定する必要はありません。
SOAP1.1/1.2併用モードの場合
「cscwsconf.properties」というファイル名称でクライアント定義ファイルを作成し,サービスアダプタ定義画面で設定します。「cscwsconf.properties」はすべて小文字で入力します。
SOAP1.1/1.2併用モードを使用する場合のクライアント定義ファイルの作成については,マニュアル「Cosminexus サービスプラットフォーム リファレンス」の「クライアント定義ファイル」を参照してください。

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

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

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

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

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

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

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