3.3.1 SOAPアダプタを定義する
SOAPアダプタの定義方法について説明します。SOAPアダプタは,サービスアダプタ定義画面で定義できます。
- 〈この項の構成〉
(1) サービス部品の電文フォーマット
Webサービスの場合,WSDLから作成された電文フォーマット定義ファイルが,サービス部品の電文フォーマット定義ファイルとなります。そのため,要求電文および応答電文ともに,サービス部品の電文フォーマットを設定する必要はありません。
サービス部品の電文フォーマットの作成方法については,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「4.3.2 サービス部品電文を作成する(Webサービスの場合)」を参照してください。
(2) データ変換
サービスリクエスタの電文の形式と,サービスアダプタが呼び出すサービス部品の電文の形式が異なる場合,データ変換が必要です。
要求電文のデータ変換を行う場合,サービスアダプタ定義画面で標準電文にサービスリクエスタから入力される電文を設定し,データ変換定義画面でデータ変換を定義します。応答電文のデータ変換を行う場合,サービス部品から返される電文に標準電文を設定し,データ変換定義画面でデータ変換を定義します。
データ変換の詳細については,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7. データ変換の定義」を参照してください。
- 注意事項
-
SOAPアダプタでデータ変換を定義する場合,電文フォーマットのルート要素には次の要素を選択してください。
-
document/literalの場合
要求電文:<wsdl:operation><wsdl:input>が参照する<wsdl:message><wsdl:part>のelement属性が示す要素
応答電文:<wsdl:operation><wsdl:output>が参照する<wsdl:message><wsdl:part>のelement属性が示す要素
-
rpc/literalの場合
要求電文:「オペレーション名」と同じ名前の要素
応答電文:「オペレーション名+"Response"」と同じ名前の要素
-
(3) ベーシック認証の設定
対象となるサービス部品がユーザ認証を必要とするWebサーバ上にある場合は,ベーシック認証(ユーザ名およびパスワード)の設定が必要になります。
(4) サービスアダプタ定義画面の表示
サービスアダプタを定義するために,サービスアダプタ定義画面を表示します。サービスアダプタ定義画面は,ツリービューのサービス定義一覧から,該当するサービスアダプタを選択し,ダブルクリックすると表示されます。
(5) サービスアダプタ定義画面での操作
SOAPアダプタを定義する場合の手順を次に示します。
-
サービスアダプタ定義画面を表示します。
サービスアダプタ定義画面の表示方法については,「3.3.1(4) サービスアダプタ定義画面の表示」を参照してください。
-
サービス部品制御情報の[サービス名],[サービスID],[アドレス],および[最大インスタンス数]を必要に応じて編集します。
-
サービス部品制御情報の[オペレーション]のドロップダウンリストから,編集したいオペレーションを選択します。
-
オペレーション情報に表示されている内容を確認します。
-
サービス部品制御情報の[システム例外をフォルトに変換する]チェックボックスを必要に応じてチェックします。
-
要求電文について,手順7.から手順23.までを実施します。
-
次に示す操作をします。
- 要求電文にSOAPヘッダ情報を定義する場合
-
手順8.〜14.を実施して,手順15.に進みます。
- 要求電文にSOAPヘッダ情報を定義しない場合
-
手順15.に進みます。
-
要求電文の[ヘッダ]タブをクリックします。
-
[ルート要素]のドロップダウンリストからヘッダ情報のルート要素を選択します。
[名前空間]には選択したルート要素の名前空間が表示され,[電文フォーマット]にはヘッダ情報として使用する電文フォーマットのファイル名が表示されます。必要に応じてヘッダ情報のルート要素を追加してください。
-
次に示す操作をします。
- ヘッダ情報のルート要素を追加する場合
-
手順11.〜13.を実施して,手順14.に進みます。
- ヘッダ情報のルート要素を追加しない場合
-
手順14.に進みます。
-
[ルート要素]の[追加]ボタンをクリックします。
[電文フォーマットファイルの選択]ダイアログが表示されます。
-
ヘッダ情報として使用する電文フォーマットを選択して[開く]ボタンをクリックします。
[ヘッダ情報の追加]ダイアログが表示されます。
-
[ルート要素]のドロップダウンリストから追加するヘッダ情報のルート要素を選択して[OK]ボタンをクリックします。
追加したルート要素は,要求電文の[ヘッダ]タブの[ルート要素]に追加されます。追加位置は,ドロップダウンリストの末尾になります。
-
電文フォーマットの[表示]ボタンをクリックします。
ヘッダ情報として使用する電文のフォーマットが表示されます。必要に応じて電文フォーマットを確認してください。
-
要求電文の[ボディ]タブをクリックします。
-
標準電文の[使う]チェックボックスをチェックします。
-
標準電文の[参照]ボタンをクリックして,[電文フォーマット]に標準電文のフォーマットを指定します。
なお,外部のXMLスキーマを参照している電文フォーマットを設定する場合,必ずルートスキーマに当たるファイルを設定してください。ルートスキーマから参照される外部のXMLスキーマファイルは,自動的に取り込まれます。
指定できる電文フォーマットの形式については,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「2.6.5 XMLスキーマの適用範囲」を参照してください。
-
標準電文の[表示]ボタンをクリックします。
標準電文のフォーマットが表示されます。必要に応じて指定した標準電文のフォーマットを確認してください。
-
サービス部品電文の[表示]ボタンをクリックします。
サービス部品電文のフォーマットが表示されます。必要に応じてサービス部品電文のフォーマットを確認してください。
-
次に示す操作をします。
- 標準電文の[使う]チェックボックスをチェックした場合
-
手順21.〜23.を実施して,手順24.に進みます。
- 標準電文の[使う]チェックボックスをチェックしない場合
-
手順24.に進みます。
-
データ変換定義のファイル名を入力します。
-
[編集]ボタンをクリックします。
データ変換定義画面が表示されます。
なお,初めて定義する場合は,[ルート要素選択]ダイアログが表示されます。
また,電文フォーマットを変更した場合は,電文フォーマットの変更を反映するかを確認するダイアログが表示されます。電文フォーマットを変更した場合の手順は,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.3.2 電文フォーマットを変更した場合の定義手順」を参照してください。
-
標準電文とサービス部品電文の内容をマッピングします。
-
応答電文についても同様に,手順7.から手順23.までを実施します。
-
サービスアダプタ定義(詳細)タブをクリックします。
-
サービス部品がユーザ認証を必要とするWebサーバ上にあるかどうかで,次に示す操作をします。
- ユーザ認証が必要な場合
-
手順27.〜29.を実施します。
- ユーザ認証が不要な場合
-
以降の手順は不要です。
-
ベーシック認証の[使う]チェックボックスをチェックします。
-
ユーザ名およびパスワードの欄に,ベーシック認証のために必要なユーザ名およびパスワードを入力します。
-
パスワード(確認)欄に,パスワードの欄で入力したパスワードと同じパスワードを入力します。
(6) クライアント定義ファイルの設定
クライアント定義ファイルは,クライアント(サービスリクエスタ)側の動作を制御するためのファイルです。クライアント定義ファイルは,必要に応じて,次のどちらかの方法で設定します。
-
テンプレートファイルを編集する
-
新規に作成してテンプレートファイルに上書き設定する
クライアント定義ファイルの設定は任意です。クライアント定義ファイルを設定しない場合はテンプレートファイルの内容がそのまま使用されます。
(a) 設定手順(テンプレートファイルを編集する場合)
テンプレートファイルを編集する場合の設定手順を示します。
-
サービスアダプタ定義画面(詳細)の[クライアント定義ファイル]で,[編集]ボタンをクリックします。
クライアント定義ファイルを編集するためのエディタが起動します。
-
エディタ上でクライアント定義ファイルを編集します。
-
Eclipseのメニューから[ファイル]−[保管]を選択し,定義内容を保存します。
(b) 設定手順(新規に作成してテンプレートファイルを上書きする場合)
新規に作成してテンプレートファイルを上書きする場合の設定手順を示します。
-
テキストエディタなどで,「c4webcl.properties」というファイル名称でクライアント定義ファイルを作成します。
「c4webcl.properties」はすべて小文字で入力します。
-
サービスアダプタ定義画面(詳細)の[クライアント定義ファイル]で,[参照]ボタンをクリックし,作成したクライアント定義ファイルを指定します。
(c) 設定内容
クライアント定義ファイルの設定内容は,SOAP1.1モードを使用する場合とSOAP1.1/1.2併用モードを使用する場合とでは異なります。それぞれの場合の設定内容を示します。
-
SOAP1.1モードを使用する場合
クライアント定義ファイルの設定内容については,マニュアル「アプリケーションサーバ SOAPアプリケーション開発の手引」の「10.3 クライアント定義ファイルの設定」を参照してください。
次の表に,SOAP1.1モードを使用する場合のクライアント定義ファイル編集時の注意事項を示します。
表3‒1 クライアント定義ファイルの作成に関する注意事項(SOAP1.1モード) 設定項目
キー名称
設定値
(デフォルト値)
注意事項
多重参照
c4web.common.do_multirefs
false
デフォルト値以外の値を指定した場合の動作は保証されません。
データ型定義
c4web.common.send_xsi_types
true
文字参照形式オプション
c4web.common.character_reference
false
HTTPセッションの維持
c4web.application.app_maintainsession
false
サービスアダプタのHTTPヘッダ引き継ぎ機能※を使用して,「JSESSIONID」のCookie情報を送受信する場合は,trueを設定してください。
SOAPヘッダの名前修飾チェックオプション
c4web.common.enable_soapheader_check
true
このオプションは,falseとして動作します。
トレースファイル,アプリケーションログのプリフィックス
c4web.logger.log_file_prefix
サービスID
値は必ずサービスIDに変更されるため,設定する必要はありません。
-
SOAP1.1/1.2併用モードを使用する場合
クライアント定義ファイルの設定内容については,マニュアル「サービスプラットフォーム リファレンス」の「3.6.2 クライアント定義ファイル」を参照してください。