Hitachi

Cosminexus V11 BPM/ESB基盤 サービスプラットフォーム 開発ガイド 受付・アダプタ定義編


2.4.2 FTP受付の電文フォーマットを作成する

FTP受付の電文フォーマットの定義ファイルはサービスプラットフォームが提供するスキーマを使用します。そのため,電文フォーマットの定義ファイルの作成は不要です。

FTP受付で使用する電文フォーマットの種類,および内容について説明します。

ファイルの格納場所は「<サービスプラットフォームのインストールディレクトリ>\CSC\schema\ftprecp」です。

〈この項の構成〉

(1) FTP受付の要求電文フォーマット

FTP受付の要求電文フォーマットをオペレーションごとに示します。

(a) PUTオペレーション

PUTオペレーションのFTP受付からビジネスプロセスに渡す要求電文フォーマットを次に示します。この電文フォーマットのファイル名は「urecp_ftp_put_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/ftp/put_request」です。

表2‒3 FTP受付の要求電文フォーマット(PUTオペレーション)

タグ名

出現回数

説明

<request>

1回

<ftpclient-ipaddr>

1回

FTPクライアントのIPアドレスです。

IPアドレスのテキスト表現形式で設定されます。

<ftp-user>

1回

FTPクライアントがUSERコマンドで指定したユーザ名です。

USERコマンドの引数に指定された情報がそのまま設定されます。

<ftp-type>

1回

FTPクライアントがTYPEコマンドで指定したタイプの情報です。

TYPEコマンドの引数に指定された情報がそのまま設定されます。

<transfer-type>

1回

転送種別です。次のどちらかが設定されます。

  • APPE

    ファイルへの情報追加

  • STOR

    ファイルの上書き

<transfer-path>

1回

転送対象ファイルパスです。

FTPクライアントがAPPEコマンド,またはSTORコマンドで指定したパス情報から,先頭の振分定義部分を取り除いたファイルパスの情報が設定されます。

先頭には必ず「/」が設定されます。

<file-name>

1回

FTPクライアントから送られてきたファイルのデータが書き出された中間ファイルのファイル名です。

<file-size>

1回

FTPクライアントから送られてきて,中間ファイルに書き出されたデータのサイズです。

<request-id>

1回

リクエストIDです。FTP受付が生成したリクエストIDが設定されます。

<ftp-commands-before>

0または1回

転送前に実行するFTPコマンドです。

FTPクライアントから次に示すFTPコマンドが要求されている場合に設定されます。

SITE CSCTHR -B <FTPコマンド>[;<FTPコマンド> …]

この場合,「<FTPコマンド>[;<FTPコマンド> …]」の部分がそのままの形式で設定されます。

ただし,SITE CSCTHRコマンドの引数で指定されたFTPコマンドが,FTPコマンド許可リスト定義機能で許可されていない場合は設定されません。

FTPクライアントからCSCTHRコマンドが複数要求されている場合は,「<FTPコマンド>[;<FTPコマンド> …]」の部分がSITE CSCTHRコマンドを実行した順番にセミコロン(;)で接続されて追加されます。

CSCTHRコマンドが一度も要求されていない場合はこのタグは出力されません。

<ftp-commands-after>

0または1回

転送後に実行する必要があるFTPコマンドです。

FTPクライアントから次に示すコマンドが要求されている場合に設定されます。

SITE CSCTHR -A <FTPコマンド>[;<FTPコマンド> …]

この場合,「<FTPコマンド>[;<FTPコマンド> …]」の部分がそのままの形式で設定されます。

ただし,SITE CSCTHRコマンドの引数で指定されたFTPコマンドが,FTPコマンド許可リスト定義機能で許可されていない場合は設定されません。

FTPクライアントからCSCTHRコマンドが複数要求されている場合は,「<FTPコマンド>[;<FTPコマンド> …]」の部分がSITE CSCTHRコマンドを実行した順番にセミコロン(;)で接続されて追加されます。

CSCTHRコマンドが一度も要求されていない場合はこのタグは出力されません。

(凡例)

−:該当する項目はありません。

注※

規定の出現回数を超える場合の動作は保証されません。

(b) GETオペレーション

GETオペレーションのFTP受付からビジネスプロセスに渡す要求電文フォーマットを次に示します。この電文フォーマットのファイル名は「urecp_ftp_get_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/ftp/get_request」です。

表2‒4 FTP受付の要求電文フォーマット(GETオペレーション)

タグ名

出現回数

説明

<request>

1回

<ftpclient-ipaddr>

1回

FTPクライアントのIPアドレスです。

IPアドレスのテキスト表現形式で設定されます。

<ftp-user>

1回

FTPクライアントがUSERコマンドで指定したユーザ名です。

USERコマンドの引数に指定された情報がそのまま設定されます。

<ftp-type>

1回

FTPクライアントがTYPEコマンドで指定したタイプの情報です。

TYPEコマンドの引数に指定された情報がそのまま設定されます。

<transfer-type>

1回

転送種別です。次の内容が設定されます。

  • RETR

    ファイルの取得

<transfer-path>

1回

転送対象ファイルパスです。

FTPクライアントがRETRコマンドで指定したパス情報から,先頭の振分定義部分を取り除いたファイルパスの情報が設定されます。

先頭には必ず「/」が設定されます。

<request-id>

1回

リクエストIDです。FTP受付が生成したリクエストIDが設定されます。

<ftp-commands-before>

0または1回

転送前に実行する必要があるFTPコマンドです。

FTPクライアントから次に示すFTPコマンドが要求されている場合に設定されます。

SITE CSCTHR -B <FTPコマンド>[;<FTPコマンド> …]

この場合,「<FTPコマンド>[;<FTPコマンド> …]」の部分がそのままの形式で設定されます。

ただし,SITE CSCTHRコマンドの引数で指定されたFTPコマンドが,FTPコマンド許可リスト定義機能で許可されていない場合は設定されません。

FTPクライアントからCSCTHRコマンドが複数要求されている場合は,「<FTPコマンド>[;<FTPコマンド> …]」の部分がSITE CSCTHRコマンドを実行した順番にセミコロン(;)で接続されて追加されます。

CSCTHRコマンドが一度も要求されていない場合はこのタグは出力されません。

<ftp-commands-after>

0または1回

転送後に実行する必要があるFTPコマンドです。

FTPクライアントから次に示すコマンドが要求されている場合に設定されます。

SITE CSCTHR -A <FTPコマンド>[;<FTPコマンド> …]

この場合,「<FTPコマンド>[;<FTPコマンド> …]」の部分がそのままの形式で設定されます。

ただし,SITE CSCTHRコマンドの引数で指定されたFTPコマンドが,FTPコマンド許可リスト定義機能で許可されていない場合は設定されません。

FTPクライアントからCSCTHRコマンドが複数要求されている場合は,「<FTPコマンド>[;<FTPコマンド> …]」の部分がSITE CSCTHRコマンドを実行した順番にセミコロン(;)で接続されて追加されます。

CSCTHRコマンドが一度も要求されていない場合はこのタグは出力されません。

(凡例)

−:該当する項目はありません。

注※

規定の出現回数を超える場合の動作は保証されません。

(c) GETINFOオペレーション

GETINFOオペレーションのFTP受付からビジネスプロセスに渡す要求電文フォーマットを次に示します。この電文フォーマットのファイル名は「urecp_ftp_getinfo_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/ftp/getinfo_request」です。

表2‒5 FTP受付の要求電文フォーマット(GETINFOオペレーション)

タグ名

出現回数

説明

<request>

1回

<ftpclient-ipaddr>

1回

FTPクライアントのIPアドレスです。

IPアドレスのテキスト表現形式で設定されます。

<ftp-user>

1回

FTPクライアントがUSERコマンドで指定したユーザ名です。

USERコマンドの引数に指定された情報がそのまま設定されます。

<getinfo-type>

1回

情報取得種別として,次のどちらかが設定されます。

  • LIST

    ファイル情報の一覧を取得します。

  • NLST

    ファイル名の一覧を取得します。

<getinfo-option>

0または1回

情報取得オプション情報です。

次の条件をすべて満たす場合は,オプション定義ファイルに設定されている文字列と一致した文字列部分が設定されます。

  • FTPクライアントがLISTコマンドまたはNLSTコマンドで指定した引数の先頭部分が,オプション定義ファイルに設定されている文字列と一致する

  • 引数の先頭部分の後ろに文字列が続いていない,または空白文字になっている

なお,次のどちらかに当てはまる場合,このタグは出力されません。

  • FTPクライアントがLISTコマンドまたはNLSTコマンドで引数を指定しなかった場合

  • FTPクライアントがLISTコマンドまたはNLSTコマンドで指定した引数の先頭部分がオプション定義ファイルに設定されている文字列と一致しなかった場合

<getinfo-path>

0または1回

情報取得パス情報です。

<getinfo-option>タグが出力されていない場合は,FTPクライアントがLISTコマンドまたはNLSTコマンドで指定した引数がそのまま設定されます。

<getinfo-option>タグが出力されている場合は,FTPクライアントがLISTコマンドまたはNLSTコマンドで指定した引数の先頭から,<getinfo-option>タグに出力されているオプション情報およびその後ろの空白文字を取り除いたパス情報部分が設定されます。

なお,次のどちらかに当てはまる場合,このタグは出力されません。

  • FTPクライアントがLISTコマンドまたはNLSTコマンドで引数を指定しなかった場合

  • FTPクライアントがLISTコマンドまたはNLSTコマンドで指定した引数に,オプション情報しか指定されていなかった場合

<getinfo-path-context>

0または1回

<getinfo-path>タグから抽出した情報取得パス情報の部分文字列です。

<getinfo-path>タグが出力されている場合は,先頭のスラッシュ(/)から次のスラッシュ(/)より前の部分が設定されます。このタグにスラッシュ(/)は含まれません。

<getinfo-path>タグが出力されていない場合,または<getinfo-path>タグの先頭のスラッシュ(/)から次のスラッシュ(/)より前の部分が抽出できない場合は,このタグは出力されません。

<getinfo-path-relative>

0または1回

<getinfo-path>タグから抽出した情報取得パス情報の部分文字列です。

<getinfo-path>タグが出力されている場合は,<getinfo-path>タグの2つ目のスラッシュ(/)より後ろの値が設定されます。

<getinfo-path>タグが出力されていない場合,または<getinfo-path>タグの2つ目のスラッシュ(/)より後ろの値が設定されていない場合は,このタグは出力されません。

<request-id>

1回

リクエストIDです。FTP受付が生成したリクエストIDが設定されます。

<ftp-commands-before>

0または1回

リストコマンド実行前に実行する必要があるFTPコマンドです。

FTPクライアントから次に示すFTPコマンドが要求されている場合に設定されます。

SITE CSCTHR -B <FTPコマンド>[;<FTPコマンド> …]

この場合,「<FTPコマンド>[;<FTPコマンド> …]」の部分がそのままの形式で設定されます。

ただし,SITE CSCTHRコマンドの引数で指定されたFTPコマンドが,FTPコマンド許可リスト定義機能で許可されていない場合は設定されません。

FTPクライアントからCSCTHRコマンドが複数要求されている場合は,「<FTPコマンド>[;<FTPコマンド> …]」の部分がSITE CSCTHRコマンドを実行した順番にセミコロン(;)で接続されて追加されます。

CSCTHRコマンドが一度も要求されていない場合は,このタグは出力されません。

<ftp-commands-after>

0または1回

リストコマンド実行後に実行する必要があるFTPコマンドです。

FTPクライアントから次に示すコマンドが要求されている場合に設定されます。

SITE CSCTHR -A <FTPコマンド>[;<FTPコマンド> …]

この場合,「<FTPコマンド>[;<FTPコマンド> …]」の部分がそのままの形式で設定されます。

ただし,SITE CSCTHRコマンドの引数で指定されたFTPコマンドが,FTPコマンド許可リスト定義機能で許可されていない場合は設定されません。

FTPクライアントからCSCTHRコマンドが複数要求されている場合は,「<FTPコマンド>[;<FTPコマンド> …]」の部分がSITE CSCTHRコマンドを実行した順番にセミコロン(;)で接続されて追加されます。

CSCTHRコマンドが一度も要求されていない場合は,このタグは出力されません。

(凡例)

−:該当する項目はありません。

注※

規定の出現回数を超える場合の動作は保証されません。

(2) FTP受付の応答電文フォーマット

FTP受付の応答電文フォーマットをオペレーションごとに示します。

(a) PUTオペレーション

ビジネスプロセスからPUTオペレーションのFTP受付に渡す応答電文フォーマットを次に示します。この電文フォーマットのファイル名は「urecp_ftp_put_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/ftp/put_response」です。

表2‒6 FTP受付の応答電文フォーマット(PUTオペレーション)

タグ名

出現回数※1

説明

<response>

1回

<message>

0または1回

ビジネスプロセスの終了状態を示すメッセージです。指定できるメッセージの最大長は1,024文字です。

最大長を超える長さのメッセージを指定した場合,メッセージが1,024文字に収まるようメッセージの後ろの部分は切り捨てられます。

使用できない文字※2が含まれていた場合,使用できない文字はクエスチョンマーク(?)に置き換えられます。

省略した場合,次のメッセージが設定されます。

  • <success>タグの値がtrueの場合

    Transfer complete.

  • <success>タグの値がfalseの場合

    Requested action aborted.

<success>

0または1回

ビジネスプロセスの終了状態を示すフラグです。次のどちらかを指定します。

  • true

    ビジネスプロセスの処理が正常に終了した。

  • false

    ビジネスプロセスの処理でエラーが発生した。

省略した場合,trueが設定されます。

(凡例)

−:該当する項目はありません。

注※1

規定の出現回数を超える場合の動作は保証されません。

注※2

次に示す文字以外は使用できません。

半角英数字,半角空白,半角タブ,半角改行,感嘆符(!),ダブルクォーテーション("),番号記号(#),ドル記号($),パーセント(%),アンパサンド(&),アポストロフィ('),始め小括弧((),終わり小括弧()),アスタリスク(*),正符号(+),コンマ(,),ハイフン(-),ピリオド(.),スラッシュ(/),コロン(:),セミコロン(;),左アングルブラケット(<),右アングルブラケット(>),等号(=),クエスチョンマーク(?),単価記号(@),始め角括弧([),終わり角括弧(]),円マーク(\),アクサンシルコンフレックス(^),アンダーバー(_),アクサングラーブ(`),始め波括弧({),終わり波括弧(}),パイプライン(|),波ダッシュ(~)

(b) GETオペレーション

ビジネスプロセスからGETオペレーションのFTP受付に渡す応答電文フォーマットを次に示します。この電文フォーマットのファイル名は「urecp_ftp_get_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/ftp/get_response」です。

表2‒7 FTP受付の応答電文フォーマット(GETオペレーション)

タグ名

出現回数※1

説明

<response>

1回

<message>

0または1回

ビジネスプロセスの終了状態を示すメッセージです。指定できるメッセージの最大長は1,024文字です。

最大長を超える長さのメッセージを指定した場合,メッセージが1,024文字に収まるようメッセージの後ろの部分は切り捨てられます。

使用できない文字※2が含まれていた場合,使用できない文字はクエスチョンマーク(?)に置き換えられます。

省略した場合,次のメッセージが設定されます。

  • <success>タグの値がtrueの場合

    Transfer complete.

  • <success>タグの値がfalseの場合

    Requested action not taken.

<success>

0または1回

ビジネスプロセスの終了状態を示すフラグです。次のどちらかを指定します。

  • true

    ビジネスプロセスの処理が正常に終了した。

  • false

    ビジネスプロセスの処理でエラーが発生した。

省略した場合,trueが設定されます。

<folder-name>

0または1回

FTPクライアントへ送り返す中間ファイルが格納されている共通フォルダの定義名です。

省略した場合は,作業フォルダ内のファイルが中間ファイルとして使用されます。ただし,<success>タグの値がfalseの場合,この設定は不要です。もし設定されていても無視されます。

<file-name>

0または1回

FTPクライアントへ送り返すファイルのデータが書き出された中間ファイルのファイル名です。

作業フォルダを使用する場合は,作業フォルダ直下のファイルを指定してください。

共通フォルダを使用する場合は,共通フォルダルート配下のファイルを相対パスで指定してください。ファイル名の先頭にスラッシュ(/)を使用した場合,スラッシュ(/)は無視されます。また,シンボリックリンク以外のファイルを指定してください。ただし,<success>タグの値がfalseの場合,この設定は不要です。もし設定されていても無視されます。

<file-size>

0または1回

FTPクライアントへ送り返すファイルのデータのサイズです。

ただし,<success>タグの値がfalseの場合,この設定は不要です。もし設定されていても無視されます。

(凡例)

−:該当する項目はありません。

注※1

規定の出現回数を超える場合の動作は保証されません。

注※2

次に示す文字以外は使用できません。

半角英数字,半角空白,半角タブ,半角改行,感嘆符(!),ダブルクォーテーション("),番号記号(#),ドル記号($),パーセント(%),アンパサンド(&),アポストロフィ('),始め小括弧((),終わり小括弧()),アスタリスク(*),正符号(+),コンマ(,),ハイフン(-),ピリオド(.),スラッシュ(/),コロン(:),セミコロン(;),左アングルブラケット(<),右アングルブラケット(>),等号(=),クエスチョンマーク(?),単価記号(@),始め角括弧([),終わり角括弧(]),円マーク(\),アクサンシルコンフレックス(^),アンダーバー(_),アクサングラーブ(`),始め波括弧({),終わり波括弧(}),パイプライン(|),波ダッシュ(~)

(c) GETINFOオペレーション

ビジネスプロセスからGETINFOオペレーションのFTP受付に渡す応答電文フォーマットを次に示します。この電文フォーマットのファイル名は「urecp_ftp_getinfo_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/ftp/getinfo_response」です。

表2‒8 FTP受付の応答電文フォーマット(GETINFOオペレーション)

タグ名

出現回数※1

説明

<response>

1回

<reply-code>

0または1回

情報取得処理を実行したときにFTPサーバから受け取ったリプライコード(またはそれに準ずるコード)です。

FTPアダプタのGETINFOオペレーションを使用して情報取得処理を実行する場合は,FTPアダプタの応答電文の<reply-code>の値をこのタグに設定することを推奨しています。

このタグに指定できる値は,200〜299の数値,または400〜599の数値です。

200〜299を設定した場合は,FTPクライアントに返されるリプライコードは266となります。

400〜599の値を設定した場合は,設定した値がFTPクライアントに返されるリプライコードとなります。

<success>タグの値がtrueで,このタグを省略した場合は,FTP受付がリプライコードに226を仮定します。

<success>タグの値がfalseの場合は,この設定は不要です。もし設定されていても無視されます。

<message>

0または1回

情報取得処理を実行したときにFTPサーバから受け取ったリプライメッセージ,またはビジネスプロセスの終了状態を示すメッセージです。

指定できるメッセージの最大長は1,024文字です。最大長を超える長さのメッセージを指定した場合,メッセージが1,024文字に収まるようメッセージの後ろの部分は切り捨てられます。

使用できない文字※2が含まれていた場合,使用できない文字はクエスチョンマーク(?)に置き換えられます。

省略した場合,次のメッセージが設定されます。

  • <success>タグの値がtrueの場合

    Transfer complete.

  • <success>タグの値がfalseの場合

    Requested action not taken.

FTPアダプタのGETINFOオペレーションを使用して情報取得処理を実行する場合は,FTPアダプタの応答電文の<reply-message>の値をこのタグに設定することを推奨しています。

<success>

0または1回

ビジネスプロセスの終了状態を示すフラグです。次のどちらかを指定します。

  • true

    ビジネスプロセスの処理が正常に終了した。

  • false

    ビジネスプロセスの処理でエラーが発生した。

省略した場合,trueが設定されます。

<file-name>

0または1回

FTPクライアントへ送り返すデータが書き出された中間ファイルのファイル名です。

このタグに指定したファイルには,次の形式で取得した情報が書き込まれる必要があります。

  • 文字コード:UTF-16

  • 改行コード:LF※3またはCRLF

ただし,次のどちらかに当てはまる場合,この設定は不要です。もし設定されていても無視されます。

  • <success>タグの値がfalseの場合

  • <success>タグの値がtrueで,<reply-code>の値が400〜599の場合

(凡例)

−:該当する項目はありません。

注※1

規定の出現回数を超える場合の動作は保証されません。

注※2

次に示す文字以外は使用できません。

半角英数字,半角空白,半角タブ,半角改行,感嘆符(!),ダブルクォーテーション("),番号記号(#),ドル記号($),パーセント(%),アンパサンド(&),アポストロフィ('),始め小括弧((),終わり小括弧()),アスタリスク(*),正符号(+),コンマ(,),ハイフン(-),ピリオド(.),スラッシュ(/),コロン(:),セミコロン(;),左アングルブラケット(<),右アングルブラケット(>),等号(=),クエスチョンマーク(?),単価記号(@),始め角括弧([),終わり角括弧(]),円マーク(\),アクサンシルコンフレックス(^),アンダーバー(_),アクサングラーブ(`),始め波括弧({),終わり波括弧(}),パイプライン(|),波ダッシュ(~)

注※3

RFC959の規則に従い,改行コードがLFの場合はCRLFに変換してクライアントに送り返します。