付録G.1 設定例1(HTTPサーバからHTTPクライアントにファイルをダウンロードする)
- 〈この項の構成〉
(1) 設定例の概要
この設定例では,次のような処理を行うビジネスプロセスを定義します。
-
HTTPアダプタからhostAのHTTPサーバにアクセスして,ホスト内のファイル(test.bmp)を作業フォルダ内にダウンロードします。
-
HTTP受付を経由して作業フォルダからHTTPクライアントにtest.bmpをダウンロードします。
(a) 環境構成
この設定例で作成する環境の構成を次の図に示します。
この設定例では,図中の点線で囲まれた部分の定義手順について説明します。
HTTPクライアントにはWebブラウザを利用します。
ファイルを受信するフォルダには作業フォルダを利用します。
- 注意事項
-
この設定例で使用するHTTPサーバは,あらかじめ用意されていることを前提としています。http://hostA/test.bmpにアクセスするとtest.bmpをダウンロードできるようにHTTPサーバを構成しているものとします。
また,HTTPアダプタがファイルのデータをダウンロードしたことを認識するために,HTTPアダプタに返すレスポンスヘッダにはContent-Dispositionヘッダを付与するように設定しておく必要があります。
(b) 設定の流れ
設定の流れを次に示します。
-
実行環境(テスト環境)のセットアップ
-
開発環境のセットアップ
-
各種定義ファイルの設定
-
HTTPアダプタの定義
-
ビジネスプロセスの追加
-
HTTP受付の追加
-
ビジネスプロセスの定義
-
データ変換の定義
-
ビジネスプロセスを実行するための準備
-
ビジネスプロセスの実行
それぞれの手順について次に説明します。
(2) 実行環境(テスト環境)のセットアップ
HCSC簡易セットアップ機能を利用してJ2EEサーバおよびHCSCサーバを構築します。
-
マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「2.4.2 HCSC簡易セットアップ機能の実行」に従ってテスト環境を構築します。
[メイン]タブの[HCSCサーバ]では,必ず「SOAP1.1/1.2併用モード」を選択してください。HTTPアダプタを利用するには,「SOAP1.1/1.2併用モード」を選択していることが前提となります。
[メイン]タブの[DBあり/RMなしモデル],[DB/RMなしモデル]および[DB/RMありモデル]は,どれを選択しても実行できます。
-
「3.3.13(1) J2EEサーバ用オプション定義ファイルの設定」に従って,J2EEサーバ用オプション定義ファイル(usrconf.cfg)を設定します。
-
[スタート]メニューで[プログラム]−[Cosminexus]−[テストサーバ停止]を選択して,テスト環境のJ2EEサーバおよびHCSCサーバを停止します。
-
[スタート]メニューで[プログラム]−[Cosminexus]−[テストサーバ起動]を選択して,テスト環境のJ2EEサーバおよびHCSCサーバを再起動します。
(3) 開発環境のセットアップ
開発環境を構築します。
-
マニュアル「サービスプラットフォーム ファーストステップガイド」の「3.5.2 HCSCTEプロジェクトの作成」および「3.5.3 テスト環境のシステム構成定義を開発環境に取り込むための設定」に従って,HCSCTEプロジェクトを作成します。
-
システム構成定義をテスト環境からエクスポートして開発環境にインポートします。
(4) 各種定義ファイルの設定
テスト環境でHTTP受付およびHTTPアダプタが動作するために,各種定義ファイルを設定します。
(a) HTTP受付の定義ファイル
HTTP受付で使用する定義ファイルの種類と,この設定例での使用有無を次に示します。
定義ファイルの種類 |
概要 |
この設定例での使用有無 |
---|---|---|
HTTPレスポンスヘッダ定義ファイル |
HTTP受付の応答電文フォーマット(ヘッダ変数用)を省略した場合のデフォルト値として使用するHTTPレスポンスヘッダ情報を設定します。 |
使用しません。 |
HTTP受付定義ファイル |
HTTP受付の動作情報を設定します。 |
使用します。 |
この設定例では,作業フォルダを利用してファイルを受信するため,次に示すHTTP受付定義ファイルのファイル設定用プロパティを設定します。
プロパティ名 |
設定値 |
説明 |
---|---|---|
httprecp.switchover.file-transfer.mode |
true |
作業フォルダを生成するため,ここでは「true」を設定します。 |
httprecp.response.ignore-bodymsg |
true |
HTTP受付のレスポンス内容に,応答電文(ボディ)ではなく作業フォルダ内のファイルを使用するため,ここでは「true」を設定します。 |
表に記載していないプロパティは設定不要です。
各プロパティの詳細は,マニュアル「サービスプラットフォーム リファレンス」の「3.11.3 HTTP受付定義ファイル」を参照してください。
HTTP受付定義ファイルは「(6) ビジネスプロセスの追加」で編集します。
(b) HTTPアダプタの定義ファイル
HTTPアダプタで使用する定義ファイルの種類と,この設定例での使用有無を次に示します。
定義ファイルの種類 |
概要 |
この設定例での使用有無 |
---|---|---|
HTTPアダプタ定義ファイル |
HTTPアダプタの環境非依存の動作情報を設定します。 |
使用しません(すべてデフォルト値を使用します)。 |
HTTPアダプタ実行環境プロパティファイル |
HTTPアダプタの環境依存の動作情報を設定します。 |
使用します。 |
HTTPアダプタ実行環境共通プロパティファイル |
HTTPアダプタの環境依存の動作情報を設定します。複数のアダプタの定義を一括で変更する場合に使用します。 |
使用しません。 |
HTTPアダプタでは,これらの定義ファイル以外にシステムプロパティの設定が必要な場合がありますが,この設定例では使用しません。
HTTPアダプタ実行環境プロパティファイルで設定するプロパティを次の表に示します。
プロパティ名 |
設定値 |
概要 |
---|---|---|
adphttp.request.method |
GET |
ファイルダウンロード要求のリクエストをGETメソッドで行うため,「GET」を設定します。 |
adphttp.request.uri-scheme-authority |
環境に応じて設定します。 |
URIのスキームとオーソリティを指定します。事前に準備している接続先を指定します。この設定例では「http://hostA」とします。 |
adphttp.request.uri-path |
環境に応じて設定します。 |
URIのパスを指定します。この設定例ではtest.bmpファイルをダウンロードするパスとして「/test.bmp」を設定します。 |
adphttp.request.output-folder-name |
−(設定しません) |
この設定例ではダウンロードしたファイルを作業フォルダに出力するため,設定しません。 |
表に記載していないプロパティは設定不要です。
各プロパティの詳細は,マニュアル「サービスプラットフォーム リファレンス」の「6.14.2 HTTPアダプタ実行環境プロパティファイル」を参照してください。
設定手順を次に示します。
-
テンプレートファイル(<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\HTTP\config\templates\serviceid.properties)をコピーして,次のフォルダに格納します。
<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\HTTP\config
-
コピーしたテンプレートファイルをテキストエディタなどで開いて次のように編集します。
adphttp.request.method=GET adphttp.request.uri-scheme-authority=http://hostA adphttp.request.uri-path=/test.bmp #adphttp.request.uri-query.<INDEX>=<QUERY-NAME>=<QUERY-VALUE> #adphttp.request.header.authorization.type=none #adphttp.request.header.authorization= #adphttp.request.header.content-type.charset= #adphttp.request.header.content-type= #adphttp.request.header.userdef.<INDEX>=<FIELD-NAME>:<FIELD-VALUE> #adphttp.request.part.message.binding=none #adphttp.request.part.file.1.input-folder-name= #adphttp.request.part.file.1.local-file-name= #adphttp.request.output-folder-name= #adphttp.config.trace.path= #adphttp.config.messagelog.level=10 #adphttp.config.methodtrace.level=3 #adphttp.config.methodtrace.filenum=8 #adphttp.config.methodtrace.filesize=2097152 #adphttp.config.exptrace.filenum=8 #adphttp.config.exptrace.filesize=2097152
-
コピーしたファイルの名称を「adphttp.properties」に変更します。
「adphttp」はHTTPアダプタのサービスIDです。このサービスIDは,開発環境でHTTPアダプタを定義するときに使用します。
(c) HCSCサーバランタイム定義ファイルの設定
この設定例では,デフォルトの作業フォルダルートを使用するため,HCSCサーバランタイム定義ファイルの設定は不要です。
作業フォルダの詳細は,マニュアル「サービスプラットフォーム 解説」の「2.13.6 HTTP受付のファイル管理」を参照してください。
(5) HTTPアダプタの定義
開発環境でHTTPアダプタを定義します。操作手順を次に示します。
-
Eclipseのメニューから,[ウィンドウ]−[ビューの表示]−[その他]を選択します。
[ビューの表示]ダイアログが表示されます。
-
[HCSC-Definer]−[HCSCTE ビュー]を選択し,[開く]ボタンをクリックします。
ツリービューにサービス定義一覧が表示されます。
-
ツリービューのサービス定義一覧で右クリックして「サービスアダプタ追加」を選択します。
追加するサービスアダプタから利用するサービス種別を設定するダイアログが表示されます。
-
サービス部品の種別のドロップダウンリストから「HTTPアダプタ」を選択して[次へ]ボタンをクリックします。
HTTPアダプタの追加に必要な情報を入力するダイアログが表示されます。
-
サービス名を入力します。
ここでは「adphttp」とします。
-
[終了]ボタンをクリックします。
サービスアダプタ定義画面(サービスアダプタ定義(基本)タブ)が表示されます。
-
オペレーションの[追加]ボタンをクリックして,オペレーション名とフォルト名を入力します。
ここでは,オペレーション名は「FileDownload」,フォルト名は「fault」とします。
-
[オペレーション追加]ダイアログで[OK]ボタンをクリックします。
-
[要求電文]−[サービス部品]−[電文フォーマット]の[参照]ボタンをクリックして,次の電文フォーマット定義ファイルを指定します。
<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\HTTP\schema\adphttp_body_empty.fdx
- 注
-
この設定例ではHTTPアダプタでファイルの受信だけを行うため,要求および応答のボディ電文はサービスプラットフォームが提供する空の電文フォーマット定義ファイルを利用します。
-
[応答電文]−[サービス部品]−[電文フォーマット]の[参照]ボタンをクリックして,次の電文フォーマット定義ファイルを指定します。
<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\HTTP\schema\adphttp_body_empty.fdx
-
[サービス部品定義情報]の[サービスID]を「adphttp」に変更します。
設定後のサービスアダプタ定義(基本)タブの例を次に示します。
オペレーション情報の通信モデルは「同期」から変更しないでください。なお,この設定例ではサービスアダプタ定義(詳細)タブは設定しません。すべてデフォルトのまま使用します。
-
[ファイル]−[保管]を選択します。
HTTPアダプタの定義が保存されます。
(6) ビジネスプロセスの追加
開発環境でビジネスプロセスを追加します。操作手順を次に示します。
-
ツリービューのサービス定義一覧で右クリックして「ビジネスプロセス追加」を選択します。
ビジネスプロセス定義を追加するためのダイアログが表示されます。
-
次のように設定します。
項目
設定内容
ビジネスプロセス名
「bp1」を入力します。
ステータスの永続化
「no」を選択します。
BPELファイル
「インポートする」にチェックしません。
-
[終了]ボタンをクリックします。
ビジネスプロセスが追加され,ビジネスプロセス定義画面が表示されます。
(7) HTTP受付の追加
呼び出しサービス選択機能を使用しないで,リクエストを受け付けるためのHTTP受付を追加します。操作手順を次に示します。
-
ツリービューのビジネスプロセス(bp1)を右クリックして[ユーザ定義受付(呼出先固定)追加]を選択します。
受付種別選択ウィザードが表示されます。
-
受付種別のドロップダウンリストから「HTTP受付」を選択して[次へ]ボタンをクリックします。
HTTP受付の追加に必要な情報を入力するダイアログが表示されます。
-
[受付名]を指定します。
ここでは「recphttp」とします。
-
[終了]ボタンをクリックします。
ユーザ定義受付定義画面(ユーザ定義受付(基本)タブ)が表示されます。
-
オペレーションの[追加]ボタンをクリックして,オペレーション名を入力します。
ここでは,オペレーション名は「get」とします。
-
[オペレーション追加]ダイアログで[OK]ボタンをクリックします。
-
[要求電文]−[受付]−[電文フォーマット]の[参照]ボタンをクリックして,次の電文フォーマット定義ファイルを指定します。
<サービスプラットフォームのインストールディレクトリ>\CSC\custom-reception\http\schema\urecp_http_body_request.xsd
-
[応答電文]−[受付]−[電文フォーマット]の[参照]ボタンをクリックして,次の電文フォーマット定義ファイルを指定します。
<サービスプラットフォームのインストールディレクトリ>\CSC\custom-reception\http\schema\urecp_http_dummy_body_response.xsd
オペレーション情報の通信モデルは「同期」から変更しないでください。
設定後のユーザ定義受付(基本)タブの例を次に示します。
-
[ユーザ定義受付(詳細)]タブをクリックします。
[ユーザ定義受付(詳細)]タブが表示されます。
-
[独自定義ファイル]で「cscurecphttp.properties」を選択し,[編集]ボタンをクリックします。
独自定義ファイルを編集するためのエディタが起動します。
-
HTTP受付定義ファイルの内容を次のように修正します。
#urecp-http.context-root= #urecp-http.max-threads=10 #urecp-http.exclusive-threads=0 #urecp-http.queue-size=8192 #urecp-http.pooled-instance.minimum=0 #urecp-http.pooled-instance.maximum=0 #urecp-http.ejb-transaction-timeout=0 #httprecp.switchover.pass-through.mode=false httprecp.switchover.file-transfer.mode=true #httprecp.http.charset=UTF-8 httprecp.response.ignore-bodymsg=true #httprecp.response.header.filename= #httprecp.system-exception.status-code=500 #httprecp.response.generate.content-length=true #httprecp.file-trans.temp-file.partsize-threshold=0 #httprecp.file-trans.maxsize.part=2147483647 #httprecp.file-trans.maxsize.request=2147483647 #httprecp.work-dir.auto-delete=true #httprecp.response.download.disposition-type=attachment
-
[ファイル]−[すべて保管]を選択します。
HTTP受付の定義およびHTTP受付定義ファイルが保存されます。
(8) ビジネスプロセスの定義
ビジネスプロセスの処理フローを定義します。
(a) 変数の定義
ビジネスプロセスで利用する変数を1つずつ定義します。この設定例で定義する変数の一覧を次に示します。
# |
変数名 |
種別 |
用途の説明 |
---|---|---|---|
1 |
recphttp_head_request |
XML |
HTTP受付の要求電文(ヘッダ)用の変数 |
2 |
recphttp_head_response |
XML |
HTTP受付の応答電文(ヘッダ)用の変数 |
3 |
adphttp_head_request |
XML |
HTTPアダプタの要求電文(ヘッダ)用の変数 |
4 |
adphttp_head_response |
XML |
HTTPアダプタの応答電文(ヘッダ)用の変数 |
5 |
recphttp_body_request |
XML |
HTTP受付の要求電文(ボディ)用の変数 |
6 |
recphttp_body_response |
XML |
HTTP受付の応答電文(ボディ)用の変数 |
7 |
adphttp_body_request |
non-XML |
HTTPアダプタの要求電文(ボディ)用の変数 |
8 |
adphttp_body_response |
non-XML |
HTTPアダプタの応答電文(ボディ)用の変数 |
変数の定義手順を次に示します。
-
ビジネスプロセス定義画面のキャンバス上の[変数・相関セット]アイコンをダブルクリックします。
[変数・相関セット一覧]ダイアログが表示されます。
-
変数に応じて次の操作をします。
-
#1〜#4の場合
表G-1の#1〜#4の変数名および種別を指定して[参照]ボタンをクリックします。
電文フォーマットに使用するファイルを指定するダイアログが表示されるため,次の表に示す参照フォーマット定義を指定します。
#
変数名
参照フォーマット定義
1
recphttp_head_request
<サービスプラットフォームのインストールディレクトリ>\CSC\custom-reception\http\schema\urecp_http_header_request.xsd
2
recphttp_head_response
<サービスプラットフォームのインストールディレクトリ>\CSC\custom-reception\http\schema\urecp_http_header_response.xsd
3
adphttp_head_request
<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\HTTP\schema\adphttp_header_request1.xsd
4
adphttp_head_response
<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\HTTP\schema\adphttp_header_response1.xsd
-
#5〜#8の場合
[変数・相関セット一覧]ダイアログで,表G-1の#5〜#8の変数名および種別を指定して[取込]ボタンをクリックします。
[電文フォーマットの取込]ダイアログが表示されるため,次のように指定して[OK]ボタンをクリックします。
#
変数名
サービス/受付
オペレーション名
電文種別
電文フォーマット
5
recphttp_body_request
受付名
recphttp
get
要求電文(ボディ)
recphttp_body_request.xsd
6
recphttp_body_response
受付名
recphttp
get
応答電文(ボディ)
recphttp_body_response.xsd
7
adphttp_body_request
サービス名
adphttp
FileDownload
要求電文(ボディ)
adphttp_body_request.fdx
8
adphttp_body_response
サービス名
adphttp
FileDownload
応答電文(ボディ)
adphttp_body_response.fdx
-
-
[変数・相関セット一覧]ダイアログで[追加]ボタンをクリックします。
変数一覧に,追加した変数が表示されます。#1〜#8の変数を同様に定義します。
-
[OK]ボタンをクリックします。
[変数・相関セット一覧]ダイアログが閉じます。
(b) アクティビティの配置
ビジネスプロセス定義画面で次の表に示す順番にアクティビティを配置して,コネクションで接続します。
順番 |
アクティビティ種別 |
初期アクティビティ名 |
説明 |
---|---|---|---|
1 |
開始 |
開始 |
ビジネスプロセスの開始を表します。デフォルトで配置されています。 |
2 |
受付 |
受付1 |
HTTPクライアントからの要求電文を受け付けるためのインターフェースを定義します。 |
3 |
データ変換 |
データ変換1 |
データ変換処理を定義します。 |
4 |
データ変換 |
データ変換2 |
データ変換処理を定義します。 |
5 |
サービス呼出 |
サービス呼出1 |
定義済みのHCSCコンポーネントへの要求電文の送信を定義します。この設定例ではHTTPアダプタが対象となります。 |
6 |
データ変換 |
データ変換3 |
データ変換処理を定義します。 |
7 |
データ変換 |
データ変換4 |
データ変換処理を定義します。 |
8 |
応答 |
応答1 |
HTTPクライアントから受信した要求電文に対する応答を返すためのインターフェースを定義します。 |
9 |
終了 |
終了 |
ビジネスプロセスの終了を表します。デフォルトで配置されています。 |
アクティビティを配置する手順については,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「5.4.1 アクティビティを配置する」を参照してください。
配置後のビジネスプロセス定義画面の状態を次に示します。
注 図のとおりに整列させる必要はありません。
(c) サービス呼出アクティビティの定義
HTTPアダプタを呼び出すためのサービス呼出アクティビティを定義します。
-
サービス呼出アクティビティ(サービス呼出1)をダブルクリックします。
[サービス呼出アクティビティ]ダイアログが表示されます。
-
次のように設定します。
項目
設定内容
アクティビティ名
HTTPアダプタ呼出
サービス名
adphttp
オペレーション名
FileDownload
通信モデル
同期(編集できません)
要求電文
ボディ割当変数
adphttp_body_request
応答電文
ボディ割当変数
adphttp_body_response
-
[要求電文]−[ヘッダ割当変数]の[設定]ボタンをクリックします。
[要求電文用ヘッダ割当変数]ダイアログが表示されます。
-
[追加]ボタンをクリックします。
-
[要求電文用ヘッダ割当変数]ダイアログで次のように設定します。
項目
設定内容
割当変数
adphttp_head_request
ルート要素
http-header-request
名前空間
http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/http/header_request
-
[要求電文用ヘッダ割当変数]ダイアログで[OK]ボタンをクリックします。
[要求電文用ヘッダ割当変数]ダイアログが閉じます。
-
[応答電文]−[ヘッダ割当変数]の[設定]ボタンをクリックします。
[応答電文用ヘッダ割当変数]ダイアログが表示されます。
-
[追加]ボタンをクリックします。
-
[応答電文用ヘッダ割当変数]ダイアログで次のように値を設定します。
項目
設定内容
割当変数
adphttp_head_response
ルート要素
http-header-response
名前空間
http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/http/header_response
-
[応答電文用ヘッダ割当変数]ダイアログで[OK]ボタンをクリックします。
[応答電文用ヘッダ割当変数]ダイアログが閉じます。
-
[サービス呼出アクティビティ]ダイアログで[OK]ボタンをクリックします。
設定内容が保存されて[サービス呼出アクティビティ]ダイアログが閉じます。
(d) 受付アクティビティの定義
受付アクティビティを定義します。
-
受付アクティビティ(受付1)をダブルクリックします。
[受付アクティビティ]ダイアログが表示されます。
-
次のように設定します。
項目
設定内容
アクティビティ名
受付
オペレーション名
get
ボディ割当変数
recphttp_body_request
通信モデル
同期
インスタンス生成
yes
-
[ヘッダ割当変数]の[設定]ボタンをクリックします。
[ヘッダ割当変数]ダイアログが表示されます。
-
[追加]ボタンをクリックします。
-
[ヘッダ割当変数]ダイアログで次のように設定します。
項目
設定内容
割当変数
recphttp_head_request
ルート要素
http-header-request
名前空間
http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/http/request
-
[ヘッダ割当変数]ダイアログで[OK]ボタンをクリックします。
[ヘッダ割当変数]ダイアログが閉じます。
-
[受付アクティビティ]ダイアログで[OK]ボタンをクリックします。
設定内容が保存されて[受付アクティビティ]ダイアログが閉じます。
(e) 応答アクティビティの定義
応答アクティビティを定義します。
-
応答アクティビティ(応答1)をダブルクリックします。
[応答アクティビティ]ダイアログが表示されます。
-
次のように設定します。
項目
設定内容
アクティビティ名
応答
オペレーション名
get
ボディ割当変数
recphttp_body_response
フォルト名
−(設定しません)
-
[ヘッダ割当変数]の[設定]ボタンをクリックします。
[ヘッダ割当変数]ダイアログが表示されます。
-
[追加]ボタンをクリックします。
-
[ヘッダ割当変数]ダイアログで次のように設定します。
項目
設定内容
割当変数
recphttp_head_response
ルート要素
http-header-response
名前空間
http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/http/response
-
[ヘッダ割当変数]ダイアログで[OK]ボタンをクリックします。
[ヘッダ割当変数]ダイアログが閉じます。
-
[応答アクティビティ]ダイアログで[OK]ボタンをクリックします。
設定内容が保存されて[応答アクティビティ]ダイアログが閉じます。
(f) データ変換アクティビティの定義
各データ変換アクティビティを定義します。
-
データ変換アクティビティ(データ変換1〜データ変換4)をダブルクリックします。
[データ変換アクティビティ]ダイアログが表示されます。
-
それぞれのデータ変換アクティビティで次のように設定します。
アクティビティ
項目
設定内容
データ変換1
アクティビティ名
HTTPアダプタボディ要求電文生成
変換元変数
一覧※
recphttp_body_request
変換先変数
変数
adphttp_body_request
データ変換定義
HTTPアダプタボディ要求電文生成
データ変換2
アクティビティ名
HTTPアダプタヘッダ要求電文生成
変換元変数
一覧※
recphttp_head_request
変換先変数
変数
adphttp_head_request
データ変換定義
HTTPアダプタヘッダ要求電文生成
データ変換3
アクティビティ名
HTTP受付ボディ応答電文生成
変換元変数
一覧※
adphttp_body_response
変換先変数
変数
recphttp_body_response
データ変換定義
HTTP受付ボディ応答電文生成
データ変換4
アクティビティ名
HTTP受付ヘッダ応答電文生成
変換元変数
一覧※
adphttp_head_response
変換先変数
変数
recphttp_head_response
データ変換定義
HTTP受付ヘッダ応答電文生成
-
[データ変換アクティビティ]ダイアログで[OK]ボタンをクリックします。
設定内容が保存されて[データ変換アクティビティ]ダイアログが閉じます。データ変換1〜データ変換4まで同様に定義します。
(9) データ変換の定義
「(8)(f) データ変換アクティビティの定義」で定義したデータ変換アクティビティに対して,マッピング定義を生成します。
マッピング定義の操作方法についてはマニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7.4 マッピングする」を参照してください。
各データ変換アクティビティのマッピング定義について示します。
(a) HTTPアダプタボディ要求電文生成
-
ビジネスプロセス定義画面でデータ変換アクティビティ(HTTPアダプタボディ要求電文生成)をダブルクリックします。
[ルート要素選択]ダイアログが表示されます。
-
[OK]ボタンをクリックします。
マッピングビューアが表示されます。
このアクティビティではマッピングは不要です。この設定例では,ファイルを送信する処理を実行するため,HTTPアダプタの要求電文(ボディ)は空の状態にします。
(b) HTTPアダプタヘッダ要求電文生成
HTTPアダプタがダウンロードするファイルを作業フォルダに格納するようにマッピングします。リクエストのメソッドおよびURIはHTTPアダプタ実行環境プロパティファイルに定義しているため,要求電文の該当個所へのマッピングは不要です。
-
ビジネスプロセス定義画面でデータ変換アクティビティ(HTTPアダプタヘッダ要求電文生成)をダブルクリックします。
[ルート要素選択]ダイアログが表示されます。
-
[OK]ボタンをクリックします。
マッピングビューアが表示されます。
-
constファンクションを配置して,constファンクションをダブルクリックします。
[定数]ダイアログが表示されます。
-
ファンクション名を「false」に変更して,「論理値」および「偽」を選択します。
-
[OK]ボタンをクリックします。
[定数]ダイアログが閉じます。
-
次の表を参考にマッピングします。
マッピング元およびマッピング先はルート要素からのパスで記載しています。
マッピング元
マッピング先
/hrc:http-header-request/hrc:request-id
/tns:http-header-request/tns:request-id
constファンクション(false)
/tns:http-header-request/tns:output-folder-name/@common
(c) HTTP受付ボディ応答電文生成
-
ビジネスプロセス定義画面でデータ変換アクティビティ(HTTP受付ボディ応答電文生成)をダブルクリックします。
[ルート要素選択]ダイアログが表示されます。
-
[OK]ボタンをクリックします。
マッピングビューアが表示されます。
このアクティビティではマッピングは不要です。この設定例では,HTTP受付はレスポンス時にファイルをダウンロードする処理を実行するため,HTTP受付の応答電文(ボディ)は空の状態にします。
(d) HTTP受付ヘッダ応答電文生成
HTTP受付がクライアントに返すファイル情報をマッピングします。
-
ビジネスプロセス定義画面でデータ変換アクティビティ(HTTP受付ヘッダ応答電文生成)をダブルクリックします。
[ルート要素選択]ダイアログが表示されます。
-
[OK]ボタンをクリックします。
マッピングビューアが表示されます。
-
constファンクションを配置して,constファンクションをダブルクリックします。
[定数]ダイアログが表示されます。
-
ファンクション名を「file-name」に変更します。
-
「文字列」を選択し,値にダウンロードするファイル名となる任意の文字列を指定します。
この設定例では「test.bmp」を指定します。
-
[OK]ボタンをクリックします。
[定数]ダイアログが閉じます。
-
次の表を参考にマッピングします。
マッピング元およびマッピング先はルート要素からのパスで記載しています。
マッピング元
マッピング先
constファンクション(file-name)
/hrc:http-header-response/hrc:files/hrc:file/hrc:file-name
/tns:http-header-response/tns:http-part/tns:files/tns:file/tns:local-file-name
/hrc:http-header-response/hrc:files/hrc:file/hrc:local-file-name
/tns:http-header-response/tns:http-header-Content-Type
/hrc:http-header-response/hrc:files/hrc:file/hrc:content-type
/tns:http-header-response/tns:http-header-Content-Type/@charset
/hrc:http-header-response/hrc:files/hrc:file/hrc:content-type/@charset
(10) ビジネスプロセスを実行するための準備
定義したHCSCコンポーネントを保存して配備定義します。操作手順を次に示します。
-
[ファイル]−[すべて保管]を選択します。
HTTPアダプタ,HTTP受付,およびビジネスプロセスの定義が保存されます。
-
ツリービューの[サービス定義一覧]を右クリックして,[複数サービスをサーバに配備して開始]を選択します。
-
サービス選択ページで配備および開始するサービスを選択します。
-
[Finish]ボタンをクリックします。
-
[OK]ボタンをクリックします。
次のダイアログが表示されていれば処理が正常に完了しています。
失敗した場合は,エラー内容を基にここまで定義した内容に誤りがないか確認してください。
(11) ビジネスプロセスの実行
-
Webブラウザを起動して次のURLにアクセスします。
http://hostB/rcp1/get
URL中の「hostB」は,hostBのIPv4形式のIPアドレスに名前解決されるものとします。ホスト名以下のパスは「/受付ID/受付のオペレーション名」です。
ビジネスプロセスが正しく実行されている場合は,次のポップアップが出力されてHTTP受付からファイルをダウンロードできます。
ダウンロードするファイル名は,マッピング定義のconstファンクションで指定した名称となります。