3.3.7 ファイルアダプタを定義する
ファイルアダプタの定義方法について説明します。
(1) 電文フォーマットの作成
ファイルアダプタで作成する電文フォーマットの内容について説明します。
(a) ファイルアダプタの要求電文フォーマット
ファイル操作の実行を要求するための要求電文では,次の情報を送信します。
-
ファイル操作情報
-
ファイル書き込みデータ
- ●ファイル操作情報
-
ファイル操作情報は,ファイルにアクセスするために必要な情報です。ファイル操作情報の内容を次の表に示します。
表3‒28 ファイル操作情報 情報
説明
ファイル名
読み込みまたは書き込みが行われるファイル名です。絶対パスで指定します。ファイル名の長さは,UTF-8へ変換した際に1〜200バイトの範囲で指定できます。先頭と最後の空白文字は削除されます。Windowsの場合,パスの大文字と小文字は区別されません。
次のようなファイル名は指定できません。
-
相対パス,親ディレクトリ表現(「..\」「../」),およびカレントディレクトリ表現(「.\」「./」)を含むファイル名。
-
シンボリックリンクを含むファイル名。
-
Windowsの場合,UNC形式,NTFSのストリーム名,または予約デバイス名を含むファイル名。
読み込みモード
ファイル読み込み時のモードです。次のモードがあります。
-
一括
指定した値の前後の空白文字は削除されます。
書き込みモード
ファイル書き込み時のモードです。次のモードがあります。
-
新規
-
追加
指定した値の前後の空白文字は削除されます。
-
- ●ファイル書き込みデータ
-
XMLファイルまたはバイナリファイルへ書き込み要求をする場合に,要求電文に指定するユーザデータです。
要求電文の内容は,読み込みまたは書き込みを行うファイルの形式や種別によって異なります。このため,電文作成時にはファイル操作情報およびファイル書き込みデータのうち,必要な情報だけを電文に記述します。
XMLファイルの読み込みを行う場合に,要求電文に必要な情報を次の表に示します。
情報 |
電文内のタグ名 |
指定値 |
省略時のデフォルト値 |
指定 |
---|---|---|---|---|
ルート要素 |
ReadRequest |
− |
− |
○ |
ファイルヘッダ要素 |
fileheader |
− |
− |
○ |
ファイル名要素 |
filename |
ファイル名 |
− |
○ |
ファイルモード要素 |
filemode |
all |
all |
× |
- (凡例)
-
○:必ず指定します。
×:省略できます。
−:該当しません。
XMLファイルの書き込みを行う場合に,要求電文に必要な情報を次の表に示します。
情報 |
電文内のタグ名 |
指定値 |
省略時のデフォルト値 |
指定 |
---|---|---|---|---|
ルート要素 |
WriteRequest |
− |
− |
○ |
ファイルヘッダ要素 |
fileheader |
− |
− |
○ |
ファイル名要素 |
filename |
ファイル名 |
− |
○ |
ファイルモード要素 |
filemode |
new |
new |
× |
ファイル書き込みデータ |
userdata |
ユーザ任意 |
− |
○ |
- (凡例)
-
○:必ず指定します。
×:省略できます。
−:該当しません。
バイナリファイルの読み込みを行う場合に,要求電文に必要な情報を次の表に示します。
情報 |
電文内のタグ名 |
指定値 |
省略時のデフォルト値 |
指定 |
---|---|---|---|---|
ルート要素 |
ReadRequest |
− |
− |
○ |
ファイルヘッダ要素 |
fileheader |
− |
− |
○ |
ファイル名要素 |
filename |
ファイル名 |
− |
○ |
ファイルモード要素 |
filemode |
all |
all |
× |
- (凡例)
-
○:必ず指定します。
×:省略できます。
−:該当しません。
バイナリファイルの書き込みを行う場合は,要求電文がバイナリ形式になります。バイナリ形式の要求電文の構造を次の図に示します。
|
電文の全体長は次のような関係式が成り立つ必要があります。
全体長 ≧ 10 + L1 + 10 + L2
バイナリファイルの書き込みを行う場合に,要求電文に必要な情報を次の表に示します。
情報 |
指定値 |
省略時のデフォルト値 |
指定 |
---|---|---|---|
ファイル名長 |
ファイル名のバイト長を10進数値文字列で指定します。 |
− |
○ |
ファイル名 |
ファイル名 |
− |
○ |
ファイルオプション長 |
ファイルオプションのバイト長を10進数値文字列で指定します。 |
− |
○ |
ファイルオプション |
新規書き込み:mode=new 追加書き込み:mode=append |
mode=new |
× |
ユーザデータ |
ユーザ任意 |
− |
○※ |
- (凡例)
-
○:必ず指定します。
×:省略できます。
−:該当しません。
- 注※
-
0バイトの指定ができます。
各要求電文のサンプルは,「(f) 電文例」を参照してください。
(b) ファイルアダプタの応答電文フォーマット
ファイルアダプタの読み込み情報をファイルアダプタの呼び出し元に返却する応答電文では,次の情報を送信します。
-
ファイル読み込みデータ
-
ファイル書き込み処理結果
- ●ファイル読み込みデータ
-
XMLファイルまたはバイナリファイルを読み込む場合に,応答電文に格納され返却されるユーザデータです。
- ●ファイル書き込み処理結果
-
XMLファイルまたはバイナリファイルを書き込む場合に,書き込み処理の結果が応答電文へ格納されます。書き込み処理が失敗した場合,ファイルアダプタはHCSCサーバに例外を通知し応答電文は返却しません。応答電文へ書き込み処理の結果が格納されるのは,書き込み処理が成功した場合だけとなります。このため,書き込み時の応答電文の返却値は必ず「OK」になります。
応答電文の内容は,読み込みまたは書き込みを行うファイルの形式や種別によって異なります。ファイルの読み込み,書き込みを行う場合に返信される応答電文の情報を次の表に示します。
ファイル形式および種別 |
情報 |
電文内のタグ名 |
返却値 |
---|---|---|---|
XMLファイル読み込み |
ファイル読み込みデータ |
ユーザ任意 |
ユーザ任意 |
XMLファイル書き込み |
ファイル書き込み処理の結果 |
status |
OK |
バイナリファイル読み込み |
ファイル読み込みデータ |
− |
ユーザ任意 |
バイナリファイル書き込み |
ファイル書き込み処理の結果 |
status |
OK |
- (凡例)
-
−:該当しません。
(c) 電文フォーマットの種類
ファイルアダプタ呼び出し元(標準電文)の電文フォーマットがファイルアダプタ(サービス部品電文)の電文フォーマットと異なる場合は,ファイルアダプタ呼び出し元(標準電文)の電文フォーマット定義ファイルおよびファイルアダプタ(サービス部品電文)の電文フォーマット定義ファイルを作成し,データ変換(マッピング)定義画面からそれぞれの電文フォーマットのマッピングを行います。
データ変換を行う場合に作成する電文フォーマット定義ファイルを次の表に示します。
ファイル形式および種別 |
要求電文 |
応答電文 |
||
---|---|---|---|---|
標準電文(呼び出し元) |
サービス部品電文(ファイルアダプタ) |
標準電文(呼び出し元) |
サービス部品電文(ファイルアダプタ) |
|
XMLファイル読み込み |
XML※ |
XML |
XML※ |
XML |
XMLファイル書き込み |
XML※ |
XML |
XML※ |
XML |
バイナリファイル読み込み |
XML※ |
XML |
XML |
バイナリ |
バイナリファイル書き込み |
XML |
バイナリ |
XML※ |
XML |
- (凡例)
-
XML:XMLフォーマット定義ファイル
バイナリ:バイナリフォーマット定義ファイル
- 注※
-
ファイルアダプタ呼び出し元(標準電文)とファイルアダプタ(サービス部品電文)の電文フォーマットが同じ場合,ファイルアダプタ呼び出し元(標準電文)の電文フォーマット定義ファイルを作成したり,設定したりする必要はありません。
ファイルアダプタで利用する電文でXML形式のデータを扱うか,バイナリ形式(XML形式以外)のデータを扱うかによって,作成する電文フォーマット定義ファイルは異なります。
-
XML形式のデータを扱う場合
XML形式のデータを扱う場合,XMLフォーマット定義ファイルを作成します。XMLフォーマット定義ファイルは,XMLスキーマファイル(拡張子:.xsd)として作成します。XMLフォーマット定義ファイルの作成方法については,「(d) XMLフォーマット定義ファイルの作成」を参照してください。
-
バイナリ形式のデータを扱う場合
バイナリ形式(XML形式以外)のデータを扱う場合,バイナリフォーマット定義ファイルを作成します。バイナリフォーマット定義ファイルは,バイナリ形式のデータ内の値の格納形式(値の長さや,ほかの値との関係など)を定義し,定義した情報をXMLスキーマファイルに付加したファイル(拡張子:.fdx)です。バイナリフォーマット定義ファイルは,XMLの仕様に合わせて作成されるため,データ変換を定義するときの変換元および変換先として,XMLフォーマット定義ファイルと同様に利用できます。バイナリフォーマット定義ファイルの作成方法については,「(e) バイナリフォーマット定義ファイルの作成」を参照してください。
(d) XMLフォーマット定義ファイルの作成
標準電文およびファイルアダプタ(サービス部品電文)の作成方法を次に示します。
- ●標準電文のXMLフォーマット定義ファイルの作成
-
標準電文のXMLフォーマット定義ファイルは,Eclipseが提供するWST(Web Standard Tools)などを利用して作成します。
作成するXMLフォーマット定義ファイルは,HCSCサーバで使用できるXMLスキーマの適用範囲を満たしている必要があります。条件の詳細は,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「2.6.5 XMLスキーマの適用範囲」を参照してください。
ファイルアダプタおよびビジネスプロセスの定義で,利用する電文フォーマットファイルを選択したときにエラー(メッセージIDがKECXで始まるエラーメッセージ)が発生した場合,XMLスキーマファイルにエラーがあります。この場合,マニュアル「アプリケーションサーバ メッセージ(構築/運用/開発用)」の「11. KECX(XML Processorが出力するメッセージ)」のメッセージを参照して対処してください。
- ●ファイルアダプタ(サービス部品電文)のXMLフォーマット定義ファイルの作成
-
ファイルアダプタ(サービス部品電文)のXMLフォーマット定義ファイルを作成する場合に,ユーザが使用する定義ファイルおよび編集の必要性について次の表に示します。
表3‒35 ユーザが使用する定義ファイルおよび編集の必要性 ファイル操作モード
電文の種類
使用する定義ファイル
ユーザ編集
読み込み
要求電文
adpff_read.xsd
×
応答電文
ユーザ作成
○
書き込み
要求電文
adpff_header.xsd
×
adpff_write.xsd
○
応答電文
adpff_result.xsd
×
- (凡例)
-
○:編集が必要です。
×:編集は不要です。
次に,XMLフォーマット定義ファイルの作成方法をファイル操作モードごとに説明します。
- 読み込み用
-
ファイルアダプタでXMLファイルを読み込む場合,次の電文フォーマット定義ファイルを作成します。
-
要求電文:XMLフォーマット定義ファイル
-
応答電文:XMLフォーマット定義ファイル
図3‒7 XMLファイル読み込み時の電文の流れ -
要求電文
要求電文用のXMLフォーマット定義ファイルは,次に示すファイルを使用します。
要求電文用フォーマット定義ファイル(XML・バイナリ形式読み込み用)
<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\schema\adpff_read.xsd
-
応答電文
応答電文用のXMLフォーマット定義ファイルは,ユーザが独自に作成します。
-
- 書き込み用
-
ファイルアダプタでXMLファイルに書き込む場合,次の電文フォーマット定義ファイルを作成します。
-
要求電文:XMLフォーマット定義ファイル
-
応答電文:XMLフォーマット定義ファイル
図3‒8 XMLファイル書き込み時の電文の流れ -
要求電文
要求電文用のXMLフォーマット定義ファイルは次に示すファイルとテンプレートファイルを使用して作成します。
要求電文用ファイル操作情報ファイル(XML形式書き込み用)
<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\schema\adpff_header.xsd
要求電文用フォーマット定義テンプレートファイル(XML形式書き込み用)
<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\schema\templates\adpff_write.xsd
要求電文用フォーマット定義テンプレートファイルは,ユーザの編集が必要です。要求電文用フォーマット定義テンプレートファイルの編集個所を次の図に示します。
図3‒9 要求電文用フォーマット定義テンプレートファイル 図中の行番号に沿って,要求電文用フォーマット定義テンプレートファイルの説明を次の表に示します。なお,図中の行番号は実際のテンプレートには含まれません。
表3‒36 要求電文用フォーマット定義テンプレートファイルの説明 行数
説明
4行目
要求電文用ファイル操作情報ファイル(XML形式書き込み用:adpff_header.xsd)の名前空間宣言をしています。
5行目
このテンプレートファイルの名前空間宣言をしています。ユーザは7行目に指定したtargetNamespace属性の値に任意の接頭辞を宣言します。
6行目
ほかのスキーマファイルをインポートする場合,そのスキーマの名前空間宣言を記述します。※1,※2
7行目
このテンプレートファイルの対象名前空間を記述しています。ユーザはtargetNamespace属性の値に一意となる対象名前空間を指定します。
9〜10行目
要求電文用ファイル操作情報ファイル(XML形式書き込み用:adpff_header.xsd)のインポート宣言を記述しています。このテンプレートファイルは要求電文用ファイル操作情報ファイル(XML形式書き込み用)をインポートします。ユーザはschemaLocation属性の値を要求電文用ファイル操作情報ファイル(XML形式書き込み用)の存在する相対パスに修正します。デフォルトでは同一ディレクトリを指定しています。
14〜20行目
WriteRequest要素宣言を記述しています。要求電文のルート要素となります。ファイルアダプタは,この要素名を取得し,ファイル入出力種別を判別します(WriteRequest:書き込み,ReadRequest:読み込み)。fileheader要素とuserdata要素を持ちます。ユーザはuserdata要素の接頭辞として5行目で宣言した接頭辞を記述します。
22行目
userdata要素宣言を記述しています。
23行目
ユーザデータ用のXMLスキーマ情報を記述します。※1,※2
- 注※1
-
記述方法は2種類あり,このファイルに直接記述する方法と,ユーザデータ用のXMLスキーマ情報を記述するファイルを別に作成し,このファイルからインポートする方法があります。インポートする場合は6行目にインポートするスキーマのターゲットネームスペース,12行目にインポートするスキーマのインポート文を記述してください。記述例は「(f) 電文例」を参照してください。
- 注※2
-
ユーザデータ用のXMLスキーマ情報を記述する場合,userdata要素の子要素には複数の要素を宣言できません。userdata要素の子要素はXMLファイル書き込み時にルート要素となるため,userdata要素の子要素は必ず1つだけ宣言してください。
-
応答電文
応答電文用のXMLフォーマット定義ファイルは次に示すファイルを使用します。
応答電文用フォーマット定義ファイル(XML・バイナリ形式書き込み用)
<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\schema\adpff_result.xsd
-
(e) バイナリフォーマット定義ファイルの作成
バイナリフォーマット定義ファイルの作成方法について説明します。
バイナリフォーマット定義ファイルを作成する場合に,ユーザが使用する定義ファイルおよび編集の必要性について次の表に示します。
ファイル操作モード |
電文の種類 |
使用する定義ファイル |
ユーザ編集 |
---|---|---|---|
読み込み |
要求電文 |
adpff_read.xsd |
× |
応答電文 |
ユーザ作成 |
○ |
|
書き込み |
要求電文 |
adpff_write.fdx |
○ |
応答電文 |
adpff_result.xsd |
× |
- (凡例)
-
○:編集が必要です。
×:編集は不要です。
バイナリフォーマット定義ファイルの作成方法を次に示します。
- ●読み込み用
-
ファイルアダプタでバイナリファイルを読み込む場合,次の電文フォーマット定義ファイルを作成します。
-
要求電文:XMLフォーマット定義ファイル
-
応答電文:バイナリフォーマット定義ファイル
図3‒10 バイナリファイル読み込み時の電文の流れ
-
-
- 要求電文
-
要求電文用のXMLフォーマット定義ファイルは次に示すファイルを使用します。
要求電文用フォーマット定義ファイル(XML・バイナリ形式読み込み用)
<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\schema\adpff_read.xsd
- 応答電文
-
応答電文用のバイナリフォーマット定義ファイルはユーザが独自に作成します。
- ●書き込み用
-
ファイルアダプタでバイナリファイルを書き込む場合,次の電文フォーマット定義ファイルを作成します。
-
要求電文:バイナリフォーマット定義ファイル
-
応答電文:XMLフォーマット定義ファイル
図3‒11 バイナリファイル書き込み時の電文の流れ
-
-
- 要求電文
-
要求電文用のバイナリフォーマット定義ファイルは,次に示すテンプレートファイルをユーザがバイナリフォーマット定義画面で編集することによって作成します。
要求電文用フォーマット定義テンプレートファイル(バイナリ形式書き込み用)
<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\schema\templates\adpff_write.fdx
要求電文用フォーマット定義テンプレートファイルの画面を次の図に示します。
図3‒12 要求電文用フォーマット定義テンプレートファイルの画面 -
要求電文用フォーマット定義テンプレートファイルの設定値を次の表に示します。
表3‒38 要求電文用フォーマット定義テンプレートファイルの設定値 要素名
データ種別
サイズ(byte)
出現回数
説明
adpff_write
−
−
−
ルート要素
fileheader
−
−
1回
ファイル操作情報要素
filename_length
整数
10
1回
ファイル名長要素
filename
文字列
可変
1回
ファイル名要素
fileoption_length
整数
10
1回
ファイルオプション長要素
fileoption
文字列
可変
1回
ファイルオプション要素
- (凡例)
-
−:該当しません。
-
作成方法
ユーザはルート要素(adpff_write要素)の子要素として任意の要素名のユーザデータ要素を作成します。ただし,必ずfileheader要素が先頭となるように作成してください。fileheader要素が先頭でない場合の動作は保証されません。バイナリフォーマット定義ファイルを作成したあと,任意の名称で保存し,サービスアダプタ定義画面で指定します。作成完了後のバイナリフォーマット定義ファイルのサンプル画面を次の図に示します。サンプル画面ではユーザデータ要素としてcustomer要素を宣言し,その子要素としてname要素とaddress要素を作成しています。
図3‒13 バイナリフォーマット定義ファイル作成後のサンプル画面
- 応答電文
-
応答電文用のXMLフォーマット定義ファイルは次に示すファイルを使用します。
応答電文用フォーマット定義ファイル(XML・バイナリ形式書き込み用)
<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\schema\adpff_result.xsd
(f) 電文例
各ファイル操作を行う場合の要求電文の例を次に示します。
電文例を説明するに当たって,要求電文フォーマットを定義するのに使用する要求電文用フォーマット定義ファイルの一覧を次の表に示します。
ファイル名 |
内容 |
編集 |
---|---|---|
adpff_read.xsd |
要求電文用フォーマット定義ファイル(XML・バイナリ形式読み込み用) |
× |
adpff_write.xsd |
要求電文用フォーマット定義テンプレートファイル(XML形式書き込み用) |
○ |
adpff_write.fdx |
要求電文用フォーマット定義テンプレートファイル(バイナリ形式書き込み用) |
○ |
- (凡例)
-
○:編集して使用するファイルです。
×:編集しないでそのまま使用するファイルです。
- ●ファイル読み込み時の要求電文
-
ファイル読み込み時の要求電文の要求電文フォーマットには,要求電文用フォーマット定義ファイル(XML・バイナリ形式読み込み用)を使用します。要求電文フォーマット定義ファイルの内容は変更しないでそのまま使用してください。
ファイル読み込み時の要求電文の記述例を次に示します。
<?xml version="1.0" encoding="UTF-8"?> <adpff:ReadRequest xmlns:adpff="http://FlatFiles.cstmadp.csc.soft.Hitachi.co.jp/ReadRequest"> <fileheader> <filename>C:\WORK\ReadFile.xml</filename> <filemode>all</filemode> </fileheader> </adpff:ReadRequest>
- ●ファイル書き込み時の要求電文(XML形式)
-
XML形式でのファイル書き込み時の要求電文の要求電文フォーマットには,要求電文用フォーマット定義テンプレートファイル(XML形式書き込み用)を使用します。要求電文用フォーマット定義ファイルに,ユーザデータのXMLスキーマ情報を追記して,要求電文用フォーマット定義ファイルを作成します。
ユーザデータのXMLスキーマ情報を追記するには次の2つの方法があります。
-
要求電文用フォーマット定義ファイルにXMLスキーマ情報を直接記述する
-
要求電文用フォーマット定義ファイルにXMLスキーマ情報をインポートする
- ユーザデータのXMLスキーマ情報を直接記述する場合
-
要求電文用フォーマット定義ファイルに,ユーザデータ用のXMLスキーマ情報を直接記述する場合の例を次に示します。
<?xml version="1.0" encoding="UTF-8"?> <!-- All Rights Reserved. Copyright (C) 2007, Hitachi, Ltd. --> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:adpff="http://FlatFiles.cstmadp.csc.soft.Hitachi.co.jp/WriteRequest" xmlns:wr="http://WriteRequest" targetNamespace="http://WriteRequest"> <xsd:import namespace="http://FlatFiles.cstmadp.csc.soft.Hitachi.co.jp/WriteRequest" schemaLocation="adpff_header.xsd"/> <xsd:element name="WriteRequest" type="wr:format"/> <xsd:complexType name="format"> <xsd:sequence> <xsd:element name="fileheader" type="adpff:fileheader"/> <xsd:element name="userdata" type="wr:userdata"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="userdata"> <xsd:sequence> <xsd:element name="customer" type="wr:customer"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="customer"> <xsd:sequence> <xsd:element name="name" type="xsd:string" /> <xsd:element name="address" type="xsd:string" /> </xsd:sequence> </xsd:complexType> </xsd:schema>
-
上記のXMLスキーマに適合した要求電文の記述例を次に示します。
<?xml version="1.0" encoding="UTF-8"?> <wr:WriteRequest xmlns:wr="http://WriteRequest"> <fileheader> <filename>C:\WORK\writeXML.xml</filename> <filemode>new</filemode> </fileheader> <userdata> <customer> <name>日立太郎</name> <address>横浜市戸塚区</address> </customer> </userdata> </wr:WriteRequest>
- ユーザデータのXMLスキーマ情報をインポートする場合
-
要求電文用フォーマット定義ファイルに,ユーザデータ用のXMLスキーマ情報をインポートして記述する場合の例を次に示します。
<?xml version="1.0" encoding="UTF-8"?> <!-- All Rights Reserved. Copyright (C) 2007, Hitachi, Ltd. --> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:adpff="http://FlatFiles.cstmadp.csc.soft.Hitachi.co.jp/WriteRequest" xmlns:wr="http://WriteRequest" targetNamespace="http://WriteRequest" xmlns:usr="http://UserSchema"> <xsd:import namespace="http://FlatFiles.cstmadp.csc.soft.Hitachi.co.jp/WriteRequest" schemaLocation="adpff_header.xsd"/> <xsd:import namespace="http://UserSchema" schemaLocation="User.xsd"/> <xsd:element name="WriteRequest" type="wr:format"/> <xsd:complexType name="format"> <xsd:sequence> <xsd:element name="fileheader" type="adpff:fileheader"/> <xsd:element name="userdata" type="wr:userdata"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="userdata"> <xsd:sequence> <xsd:element ref="usr:customer"/> </xsd:sequence> </xsd:complexType> </xsd:schema>
-
インポートされるUser.xsdは次の内容です。
<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:usr="http://UserSchema" targetNamespace="http://UserSchema"> <xsd:element name="customer"> <xsd:complexType> <xsd:sequence> <xsd:element name="name" type="xsd:string"/> <xsd:element name="address" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema>
-
上記のXMLスキーマに適合した要求電文の記述例を次に示します。
<?xml version="1.0" encoding="UTF-8"?> <wr:WriteRequest xmlns:wr="http://WriteRequest"> <fileheader> <filename>C:\WORK\writeXML.xml</filename> <filemode>new</filemode> </fileheader> <userdata> <usr:customer xmlns:usr="http://UserSchema"> <name>日立太郎</name> <address>横浜市戸塚区</address> </usr:customer> </userdata> </wr:WriteRequest>
-
- ●ファイル書き込み時の要求電文(バイナリ形式)
-
バイナリ形式でのファイル書き込み時の要求電文の要求電文フォーマットには,要求電文用フォーマット定義テンプレートファイル(バイナリ形式書き込み用)を使用します。要求電文用フォーマット定義ファイルを,Eclipseのバイナリフォーマット定義ファイル作成用のプロジェクトにインポートして,ユーザデータ用の定義を追加します。
ビジネスプロセス上では,要求電文がXML形式で扱われるため,データ変換機能を使用してXML形式からバイナリ形式に変換することで,ファイルアダプタのバイナリ用の要求電文に変換します。
要求電文用フォーマット定義ファイルの定義例,および要求電文のデータ変換の定義例を次に示します。
提供されている要求電文用フォーマット定義ファイルをインポートすると,ファイルアダプタのファイル操作情報の定義が表示されます。
図3‒14 提供ファイルをインポートした定義画面 この定義画面に,ユーザデータの定義を追加します。次の例では,customerデータとして,nameとaddressの要素を定義しています。
図3‒15 ユーザデータの定義を追加した定義画面
ファイルアダプタの呼び出し元の要求電文フォーマットから,作成したバイナリフォーマット定義ファイルへデータ変換します。filename_lengthおよびfileoption_length要素には,データ変換の機能で自動的に,filenameおよびfileoption要素のデータ長が設定されます。
|
(2) データ変換の定義
データ変換(マッピング)定義画面で,変換元の電文フォーマット定義ファイルおよび変換先の電文フォーマット定義ファイルを設定して,データ変換を定義します。
データ変換の定義方法については,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7. データ変換の定義」を参照してください。
(3) サービスアダプタ定義画面での操作
ファイルアダプタを定義する場合の手順を次に示します。
-
サービスアダプタ定義画面を表示します。
サービスアダプタ定義画面の表示方法については,「3.3.1(4) サービスアダプタ定義画面の表示」を参照してください。
-
サービス部品制御情報の[サービス名]および[サービスID]を必要に応じて編集します。
-
サービス部品制御情報の[追加]ボタンをクリックして,定義パターンおよびオペレーション名を指定します。
-
オペレーション情報の[通信モデル]のドロップダウンリストから,「同期」を選択します。
-
要求電文について,手順6.から手順15.までを実施します。
-
次に示す操作をします。
- 標準電文のフォーマットを指定する場合
-
手順7.〜9.を実施して,手順10.に進みます。
- 標準電文のフォーマットを指定しない場合
-
手順10.に進みます。
-
標準電文の[使う]チェックボックスをチェックします。
-
標準電文の[参照]ボタンをクリックして,[電文フォーマット]に標準電文のフォーマットを指定します。
指定できる電文フォーマットの形式については,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「2.6.5 XMLスキーマの適用範囲」を参照してください。
-
標準電文の[表示]ボタンをクリックします。
電文フォーマットがXML形式の場合,標準電文のフォーマットが表示されます。必要に応じて指定した標準電文のフォーマットを確認してください。
-
手順3.で指定した定義パターンに応じて次の電文フォーマットが設定されていることを確認します。
- 定義パターンが「XML読み込み」または「バイナリ読み込み」の場合
-
要求電文のサービス部品:adpff_read.xsd
応答電文のサービス部品:なし
- 定義パターンが「XML書き込み」または「バイナリ書き込み」の場合
-
要求電文のサービス部品:なし
応答電文のサービス部品:adpff_result.xsd
-
サービス部品電文の[表示]ボタンをクリックします。
電文フォーマットがXML形式の場合,サービス部品電文のフォーマットが表示されます。必要に応じて指定したサービス部品電文のフォーマットを確認してください。
-
次に示す操作をします。
- 標準電文の[使う]チェックボックスをチェックした場合
-
手順13.〜15.を実施して,手順16.に進みます。
- 標準電文の[使う]チェックボックスをチェックしない場合
-
手順16.に進みます。
-
データ変換定義のファイル名を入力します。
-
[編集]ボタンをクリックします。
データ変換定義画面が表示されます。初めて定義する場合は,[ルート要素選択]ダイアログが表示されます。
-
標準電文とサービス電文の内容をマッピングします。
-
応答電文についても,手順6.から手順15.までを実施します。
-
サービスアダプタ定義(詳細)タブをクリックします。
サービスアダプタ定義画面(詳細)が表示されます。
-
サービスアダプタ(EJB-JARファイル)の名称を確認します。
-
ユーティリティクラス(JARファイル)に次のユーティリティクラスが追加されていることを確認します。
-
adpffpc.jar(プロトコルコンバータアーカイブファイル)
-
-
定義内容を確認して,Eclipseのメニューから[ファイル]−[保存]を選択し,定義内容を保存します。
(4) ファイルアダプタ実行環境プロパティファイルの作成
ファイルアダプタ実行環境プロパティファイルは,サンプルファイルを利用して作成します。サンプルファイルの格納先を次に示します。
<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\config\templates\adpff_exe.properties
ファイルアダプタ実行環境プロパティファイルの作成手順を次に示します。
-
サンプルファイルをコピーして,次のディレクトリに格納します。
<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\File\config
-
サンプルファイルの名称を<サービスID>.propertiesに変更します。
-
定義内容を編集して保存します。
ファイルアダプタ実行環境プロパティファイルは,ファイルアダプタを開始する際に実行環境に反映されます。ファイルアダプタ実行環境プロパティファイルの内容を変更する場合は,ファイルアダプタを停止してから作業をします。ファイルアダプタを再開始すると,変更内容が実行環境に反映されます。
ファイルアダプタ実行環境プロパティファイルの詳細は,マニュアル「サービスプラットフォーム リファレンス」の「6.10.1 ファイルアダプタ実行環境プロパティファイル」を参照してください。